Conversation
kendallatada
left a comment
There was a problem hiding this comment.
Hi Marlyn! Your submission has been scored as green. Please check your code to see the comments I left. Let me know if you have any questions. Nice work! :)
| if self.inventory == [] or new_vendor.inventory == []: | ||
| return False | ||
| else: | ||
| self.add(new_vendor.inventory[0]) |
There was a problem hiding this comment.
Small note - you could reuse the swap_items() method here to DRY your code
| highest_condition = 0 | ||
| for item in self.inventory: | ||
| if item.category == best_category: | ||
| if item.condition > highest_condition: |
There was a problem hiding this comment.
small note - you could combine these conditional statements on one line using the and keyword. So, if item.category == category and item.condition > condition:
| pass No newline at end of file | ||
| def __init__(self, category = None, condition = 0 ): | ||
| if not category: | ||
| category = "" |
There was a problem hiding this comment.
Strings are immutable objects so it's safe to set an empty string as a default value in your parameters :)
| @pytest.mark.skip | ||
| @pytest.mark.integration_test | ||
| # @pytest.mark.skip | ||
| # @pytest.mark.integration_test |
There was a problem hiding this comment.
In the future, don't worry about commenting out @pytest.mark.integration. This decorator just specifies that these tests are integration tests so they should run after all the unit tests have been executed. :)
| class Clothing(Item): | ||
| def __init__(self, category = "Clothing", condition = 0.0): | ||
| self.category = category | ||
| self.condition = float(condition) |
There was a problem hiding this comment.
This would be a great place to use super()! Rather than doing the work of binding these arguments to the instance attributes ourself, we can just pass the arguments to the parent class's constructor and have it do the work for us. So line 5 and 6 could be replaced with:
super().__init__(category = "Clothing", condition = condition)
| from swap_meet.item import Item | ||
|
|
||
| class Clothing(Item): | ||
| def __init__(self, category = "Clothing", condition = 0.0): |
There was a problem hiding this comment.
small note - if all items for this child class should have their category attribute set to "Clothing", do we need to have category as a parameter in the constructor? This makes it possible for users to set the category to something else which could lead to unexpected problems in our application. Think about how you could update your code to make sure the category for this class is always set to "Clothing"
| pass No newline at end of file | ||
| from swap_meet.item import Item | ||
|
|
||
| class Decor(Item): |
There was a problem hiding this comment.
notes from clothing.py apply here too
| pass | ||
| from swap_meet.item import Item | ||
|
|
||
| class Electronics(Item): |
There was a problem hiding this comment.
notes from clothing.py apply here too
No description provided.