From 85bbbbd9366de85b56a49aca427c100d970e1587 Mon Sep 17 00:00:00 2001 From: EgemenOzturk Date: Wed, 20 Oct 2021 18:46:05 +0300 Subject: [PATCH 1/7] fix crashing problem --- src/MaterialManager.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/MaterialManager.py b/src/MaterialManager.py index bdfbaa2..01a0569 100644 --- a/src/MaterialManager.py +++ b/src/MaterialManager.py @@ -25,4 +25,11 @@ def changeMaterial(self, material) -> bool: return self._announceMaterial(returnText) def _announceMaterial(self, text: str) -> bool: - return self.announcer(text) + returnValue = False + try: + returnValue = self.announcer(text) + except: + print("Announcement of material type is failed.") + returnValue = False + finally: + return returnValue From 3fe25578e4c7e70d902c5b7b0e9734005def8a3d Mon Sep 17 00:00:00 2001 From: EgemenOzturk Date: Wed, 20 Oct 2021 18:56:00 +0300 Subject: [PATCH 2/7] add vibranium material --- src/MaterialManager.py | 26 +++++++++++++++----------- src/Util.py | 2 +- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/MaterialManager.py b/src/MaterialManager.py index 01a0569..f8cb0fe 100644 --- a/src/MaterialManager.py +++ b/src/MaterialManager.py @@ -8,21 +8,25 @@ def __init__(self, params: list): # other configurations def changeMaterial(self, material) -> bool: - returnText = "" + returnText = "" - match material: - case materialType.Titanium: - self.carManager.setMaterial(materialType.Titanium) - returnText = "Material is changed to Titanium." + match material: + case materialType.Titanium: + self.carManager.setMaterial(materialType.Titanium) + returnText = "Material is changed to Titanium." - case materialType.Carbon: - self.carManager.setMaterial(materialType.Carbon) - returnText = "Material is changed to Carbon." + case materialType.Carbon: + self.carManager.setMaterial(materialType.Carbon) + returnText = "Material is changed to Carbon." - case _: - returnText = "Material seletion is invalid." + case materialType.Vibranium: + self.carManager.setMaterial(materialType.Vibranium) + returnText = "Material is changed to Vibranium." - return self._announceMaterial(returnText) + case _: + returnText = "Material selection is invalid." + + return self._announceMaterial(returnText) def _announceMaterial(self, text: str) -> bool: returnValue = False diff --git a/src/Util.py b/src/Util.py index 81ab0ba..34422c6 100644 --- a/src/Util.py +++ b/src/Util.py @@ -1,3 +1,3 @@ from enum import Enum -materialType = Enum('Titanium', 'Carbon') +materialType = Enum('Titanium', 'Carbon', 'Vibranium') From 9a85b19ca549b04f075ba7a0732cb3736397fb1b Mon Sep 17 00:00:00 2001 From: EgemenOzturk Date: Wed, 20 Oct 2021 18:57:09 +0300 Subject: [PATCH 3/7] add comment for vibranium material --- src/Util.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Util.py b/src/Util.py index 34422c6..3707321 100644 --- a/src/Util.py +++ b/src/Util.py @@ -1,3 +1,4 @@ from enum import Enum +# vibranium is specific to Steve's car materialType = Enum('Titanium', 'Carbon', 'Vibranium') From 9ef43ce74a697f5f9cbd41c8f7a8c17b6021c0c4 Mon Sep 17 00:00:00 2001 From: EgemenOzturk Date: Wed, 20 Oct 2021 19:01:55 +0300 Subject: [PATCH 4/7] add alloyX material --- src/MaterialManager.py | 26 ++++++++++++++++---------- src/Util.py | 2 +- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/MaterialManager.py b/src/MaterialManager.py index 01a0569..f72f19c 100644 --- a/src/MaterialManager.py +++ b/src/MaterialManager.py @@ -8,19 +8,25 @@ def __init__(self, params: list): # other configurations def changeMaterial(self, material) -> bool: - returnText = "" + returnText = "" - match material: - case materialType.Titanium: - self.carManager.setMaterial(materialType.Titanium) - returnText = "Material is changed to Titanium." + match material: + case materialType.Titanium: + self.carManager.setMaterial(materialType.Titanium) + returnText = "Material is changed to Titanium." - case materialType.Carbon: - self.carManager.setMaterial(materialType.Carbon) - returnText = "Material is changed to Carbon." + case materialType.Carbon: + self.carManager.setMaterial(materialType.Carbon) + returnText = "Material is changed to Carbon." - case _: - returnText = "Material seletion is invalid." + case materialType.AlloyX: + self.carManager.setMaterial(materialType.AlloyX) + returnText = "Material is changed to AlloyX." + + case _: + returnText = "Material selection is invalid." + + return self._announceMaterial(returnText) return self._announceMaterial(returnText) diff --git a/src/Util.py b/src/Util.py index 81ab0ba..5abfeff 100644 --- a/src/Util.py +++ b/src/Util.py @@ -1,3 +1,3 @@ from enum import Enum -materialType = Enum('Titanium', 'Carbon') +materialType = Enum('Titanium', 'Carbon', 'AlloyX') From bf997a8a1434ae424ee296c5f448b0f134032954 Mon Sep 17 00:00:00 2001 From: EgemenOzturk Date: Wed, 20 Oct 2021 19:05:45 +0300 Subject: [PATCH 5/7] fix merge conflicts --- src/MaterialManager.py | 10 ++++------ src/Util.py | 3 ++- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/MaterialManager.py b/src/MaterialManager.py index f72f19c..f8cb0fe 100644 --- a/src/MaterialManager.py +++ b/src/MaterialManager.py @@ -19,16 +19,14 @@ 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 materialType.Vibranium: + self.carManager.setMaterial(materialType.Vibranium) + returnText = "Material is changed to Vibranium." case _: returnText = "Material selection is invalid." - return self._announceMaterial(returnText) - - return self._announceMaterial(returnText) + return self._announceMaterial(returnText) def _announceMaterial(self, text: str) -> bool: returnValue = False diff --git a/src/Util.py b/src/Util.py index 5abfeff..3707321 100644 --- a/src/Util.py +++ b/src/Util.py @@ -1,3 +1,4 @@ from enum import Enum -materialType = Enum('Titanium', 'Carbon', 'AlloyX') +# vibranium is specific to Steve's car +materialType = Enum('Titanium', 'Carbon', 'Vibranium') From 3c7926673c447ed96d746cd8ca46b3f06bf075dc Mon Sep 17 00:00:00 2001 From: EgemenOzturk Date: Wed, 20 Oct 2021 19:14:26 +0300 Subject: [PATCH 6/7] refactor --- src/MaterialManager.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/MaterialManager.py b/src/MaterialManager.py index f8cb0fe..aeec31c 100644 --- a/src/MaterialManager.py +++ b/src/MaterialManager.py @@ -9,19 +9,20 @@ 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.Vibranium: - self.carManager.setMaterial(materialType.Vibranium) - returnText = "Material is changed to Vibranium." + case materialType.AlloyX: + self.carManager.setMaterial(materialType.AlloyX) + returnText = textBaseForValidMaterial + " AlloyX." case _: returnText = "Material selection is invalid." From 8f80716ac326c4b923c72bb1f217a04a36acd4fe Mon Sep 17 00:00:00 2001 From: EgemenOzturk Date: Wed, 20 Oct 2021 19:15:22 +0300 Subject: [PATCH 7/7] refactor with f-strings --- src/MaterialManager.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/MaterialManager.py b/src/MaterialManager.py index aeec31c..442c48f 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."