diff --git a/python/gilded_rose.py b/python/gilded_rose.py index 5446d310..b9162ce2 100755 --- a/python/gilded_rose.py +++ b/python/gilded_rose.py @@ -32,8 +32,16 @@ class GildedRose(object): item.quality = 0 return - self.adjust_quality(item) if item.sell_in >= 0 else self.adjust_quality(item, -2) + if "Conjured" in item.name and item.sell_in >= 0: + return self.adjust_quality(item, -2) + elif "Conjured" in item.name: + return self.adjust_quality(item, -4) + if item.sell_in >= 0: + return self.adjust_quality(item) + else: + return self.adjust_quality(item, -2) + class Item: def __init__(self, name, sell_in, quality): diff --git a/python/test_gilded_rose.py b/python/test_gilded_rose.py index d67d6f35..4a9e6b5f 100644 --- a/python/test_gilded_rose.py +++ b/python/test_gilded_rose.py @@ -90,7 +90,11 @@ class GildedRoseTest(unittest.TestCase): gilded_rose = GildedRose(items) gilded_rose.update_quality() - self.assertEqual(4, items[0].quality) # TODO + self.assertEqual(3, items[0].quality) + + gilded_rose.update_quality() + self.assertEqual(-1, items[0].quality) # Sell in below zero, degrade -4 quality + if __name__ == '__main__': unittest.main()