From dc4edddad1def34db9a7575a691e92e17f067f02 Mon Sep 17 00:00:00 2001 From: melisatuun Date: Tue, 26 Oct 2021 12:15:08 +0300 Subject: [PATCH 1/7] fix crashing problem --- src/MaterialManager.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/MaterialManager.py b/src/MaterialManager.py index bdfbaa2..ee24e28 100644 --- a/src/MaterialManager.py +++ b/src/MaterialManager.py @@ -24,5 +24,12 @@ def changeMaterial(self, material) -> bool: return self._announceMaterial(returnText) - def _announceMaterial(self, text: str) -> bool: - return self.announcer(text) + def _announceMaterial(self, text: str) -> bool: + returnValue = False + try: + returnValue = self.announcer(text) + except: + print("Announcement of material type is failed.") + returnValue = False + finally: + return returnValue From ec48e566c01029cc22de684f678de612c9a4fa93 Mon Sep 17 00:00:00 2001 From: melisatuun Date: Tue, 26 Oct 2021 12:16:54 +0300 Subject: [PATCH 2/7] add vibranium material --- src/MaterialManager.py | 7 ++++++- src/Util.py | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/MaterialManager.py b/src/MaterialManager.py index bdfbaa2..69bf3b3 100644 --- a/src/MaterialManager.py +++ b/src/MaterialManager.py @@ -19,10 +19,15 @@ def changeMaterial(self, material) -> bool: self.carManager.setMaterial(materialType.Carbon) returnText = "Material is changed to Carbon." + case materialType.Vibranium: + self.carManager.setMaterial(materialType.Vibranium) + returnText = "Material is changed to Vibranium." + case _: - returnText = "Material seletion is invalid." + returnText = "Material selection is invalid." return self._announceMaterial(returnText) + def _announceMaterial(self, text: str) -> bool: return self.announcer(text) diff --git a/src/Util.py b/src/Util.py index 81ab0ba..bff8ab8 100644 --- a/src/Util.py +++ b/src/Util.py @@ -1,3 +1,5 @@ from enum import Enum -materialType = Enum('Titanium', 'Carbon') +materialType = Enum('Titanium', 'Carbon', 'Vibranium') + + From 3b2072687a70573d73e4dd26a85546563f55e0aa Mon Sep 17 00:00:00 2001 From: melisatuun Date: Tue, 26 Oct 2021 12:17:43 +0300 Subject: [PATCH 3/7] add comment for vibranium material --- src/Util.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Util.py b/src/Util.py index bff8ab8..388003f 100644 --- a/src/Util.py +++ b/src/Util.py @@ -1,5 +1,7 @@ from enum import Enum +# vibranium is specific to Steve's car + materialType = Enum('Titanium', 'Carbon', 'Vibranium') From b7adef28fa22404498e102abd38c3f5ec612c1b8 Mon Sep 17 00:00:00 2001 From: melisatuun Date: Tue, 26 Oct 2021 12:19:15 +0300 Subject: [PATCH 4/7] add alloyX material --- src/MaterialManager.py | 8 ++++++-- src/Util.py | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/MaterialManager.py b/src/MaterialManager.py index bdfbaa2..e0d5f13 100644 --- a/src/MaterialManager.py +++ b/src/MaterialManager.py @@ -7,7 +7,7 @@ def __init__(self, params: list): self.params = params # other configurations - def changeMaterial(self, material) -> bool: + def changeMaterial(self, material) -> bool: returnText = "" match material: @@ -19,8 +19,12 @@ def changeMaterial(self, material) -> bool: self.carManager.setMaterial(materialType.Carbon) returnText = "Material is changed to Carbon." + case materialType.AlloyX: + self.carManager.setMaterial(materialType.AlloyX) + returnText = "Material is changed to AlloyX." + case _: - returnText = "Material seletion is invalid." + returnText = "Material selection is invalid." return self._announceMaterial(returnText) diff --git a/src/Util.py b/src/Util.py index 81ab0ba..7f3fb19 100644 --- a/src/Util.py +++ b/src/Util.py @@ -1,3 +1,5 @@ from enum import Enum -materialType = Enum('Titanium', 'Carbon') +materialType = Enum('Titanium', 'Carbon', 'AlloyX') + + From 068b1c275527b9c44c70cdba4cf449447a4dfd2d Mon Sep 17 00:00:00 2001 From: melisatuun Date: Tue, 26 Oct 2021 12:24:18 +0300 Subject: [PATCH 5/7] refactor --- src/MaterialManager.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/MaterialManager.py b/src/MaterialManager.py index bdfbaa2..d646de6 100644 --- a/src/MaterialManager.py +++ b/src/MaterialManager.py @@ -9,20 +9,26 @@ def __init__(self, params: list): def changeMaterial(self, material) -> bool: returnText = "" + textBaseForValidMaterial = "Material is changed to" match material: case materialType.Titanium: self.carManager.setMaterial(materialType.Titanium) - returnText = "Material is changed to Titanium." + returnText = textBaseForValidMaterial + " Titanium." case materialType.Carbon: self.carManager.setMaterial(materialType.Carbon) - returnText = "Material is changed to Carbon." + returnText = textBaseForValidMaterial + " Carbon." + + case materialType.AlloyX: + self.carManager.setMaterial(materialType.AlloyX) + returnText = textBaseForValidMaterial + " AlloyX." case _: - returnText = "Material seletion is invalid." + returnText = "Material selection is invalid." return self._announceMaterial(returnText) + def _announceMaterial(self, text: str) -> bool: return self.announcer(text) From b72953db7691bbb4be34b0e1275eac70f6c54b2f Mon Sep 17 00:00:00 2001 From: melisatuun Date: Tue, 26 Oct 2021 12:25:03 +0300 Subject: [PATCH 6/7] refactor with f-strings --- src/MaterialManager.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/MaterialManager.py b/src/MaterialManager.py index d646de6..4d522e0 100644 --- a/src/MaterialManager.py +++ b/src/MaterialManager.py @@ -14,15 +14,15 @@ def changeMaterial(self, material) -> bool: match material: case materialType.Titanium: self.carManager.setMaterial(materialType.Titanium) - returnText = textBaseForValidMaterial + " Titanium." + returnText = f"{textBaseForValidMaterial} Titanium." case materialType.Carbon: self.carManager.setMaterial(materialType.Carbon) - returnText = textBaseForValidMaterial + " Carbon." + returnText = f"{textBaseForValidMaterial} Carbon." case materialType.AlloyX: self.carManager.setMaterial(materialType.AlloyX) - returnText = textBaseForValidMaterial + " AlloyX." + returnText = f"{textBaseForValidMaterial} AlloyX." case _: returnText = "Material selection is invalid." @@ -30,5 +30,6 @@ def changeMaterial(self, material) -> bool: return self._announceMaterial(returnText) + def _announceMaterial(self, text: str) -> bool: return self.announcer(text) From 2bbf66f4242ad31b6483702e8faa6453bf31297f Mon Sep 17 00:00:00 2001 From: melisatuun Date: Tue, 26 Oct 2021 12:49:13 +0300 Subject: [PATCH 7/7] refactor with f-strings --- src/MaterialManager.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/MaterialManager.py b/src/MaterialManager.py index 4d522e0..bf15652 100644 --- a/src/MaterialManager.py +++ b/src/MaterialManager.py @@ -20,9 +20,7 @@ def changeMaterial(self, material) -> bool: self.carManager.setMaterial(materialType.Carbon) returnText = f"{textBaseForValidMaterial} Carbon." - case materialType.AlloyX: - self.carManager.setMaterial(materialType.AlloyX) - returnText = f"{textBaseForValidMaterial} AlloyX." + case _: returnText = "Material selection is invalid."