From a8759d705bb02069bd06ec7076b7d83e0fefe123 Mon Sep 17 00:00:00 2001 From: Mustafa Efe Tamyapar Date: Wed, 20 Oct 2021 19:56:52 +0300 Subject: [PATCH 1/6] fix crashing problem --- src/MaterialManager.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/MaterialManager.py b/src/MaterialManager.py index bdfbaa2..505a422 100644 --- a/src/MaterialManager.py +++ b/src/MaterialManager.py @@ -25,4 +25,12 @@ 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 6675ce5fddff5fc0bec44ab29a569c972ba9e72c Mon Sep 17 00:00:00 2001 From: Mustafa Efe Tamyapar Date: Wed, 20 Oct 2021 19:58:15 +0300 Subject: [PATCH 2/6] 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 505a422..a652226 100644 --- a/src/MaterialManager.py +++ b/src/MaterialManager.py @@ -19,11 +19,16 @@ 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: returnValue = False try: 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 0e91a71f9a61973e0510c573746851d0aab4aab0 Mon Sep 17 00:00:00 2001 From: Mustafa Efe Tamyapar Date: Wed, 20 Oct 2021 19:58:55 +0300 Subject: [PATCH 3/6] add comment for vibranium material --- src/Util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Util.py b/src/Util.py index bff8ab8..84e5082 100644 --- a/src/Util.py +++ b/src/Util.py @@ -1,5 +1,5 @@ from enum import Enum - +# vibranium is specific to Steve's car materialType = Enum('Titanium', 'Carbon', 'Vibranium') From f518307c86aa20fc1b0918103f168d0286c54b5c Mon Sep 17 00:00:00 2001 From: Mustafa Efe Tamyapar Date: Wed, 20 Oct 2021 20:01:33 +0300 Subject: [PATCH 4/6] add alloyX material --- src/MaterialManager.py | 7 ++++++- src/Util.py | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/MaterialManager.py b/src/MaterialManager.py index 505a422..e5f7ae5 100644 --- a/src/MaterialManager.py +++ b/src/MaterialManager.py @@ -19,11 +19,16 @@ 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) + def _announceMaterial(self, text: str) -> bool: returnValue = False try: 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 ff6f5ebcae4211cef342126f908826aa735f8456 Mon Sep 17 00:00:00 2001 From: Mustafa Efe Tamyapar Date: Wed, 20 Oct 2021 20:03:47 +0300 Subject: [PATCH 5/6] refactor --- src/MaterialManager.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/MaterialManager.py b/src/MaterialManager.py index e5f7ae5..3123a4f 100644 --- a/src/MaterialManager.py +++ b/src/MaterialManager.py @@ -7,21 +7,22 @@ def __init__(self, params: list): self.params = params # other configurations - def changeMaterial(self, material) -> bool: + 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 = "Material is changed to AlloyX." + returnText = textBaseForValidMaterial + " AlloyX." case _: returnText = "Material selection is invalid." @@ -29,6 +30,7 @@ def changeMaterial(self, material) -> bool: return self._announceMaterial(returnText) + def _announceMaterial(self, text: str) -> bool: returnValue = False try: From 450c222e29f584f3942f0158478df0674941a45f Mon Sep 17 00:00:00 2001 From: Mustafa Efe Tamyapar Date: Wed, 20 Oct 2021 20:04:18 +0300 Subject: [PATCH 6/6] 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 3123a4f..ce4a4e0 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." @@ -31,6 +31,7 @@ def changeMaterial(self, material) -> bool: + def _announceMaterial(self, text: str) -> bool: returnValue = False try: