mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-04 09:11:39 +00:00
Add conjuring
Signed-off-by: Jean-Maxime <jm.fillau@gmail.com>
This commit is contained in:
parent
5ddd6ec0fb
commit
24c9be9f78
@ -85,3 +85,15 @@ class BackstagePassUpdater(ItemUpdater):
|
||||
self.item.quality = min(50, self.item.quality + 1) # More than 10 days: +1
|
||||
|
||||
self.item.sell_in = self.item.sell_in - 1
|
||||
|
||||
@ItemUpdater.register("Conjured")
|
||||
class ConjuredItemUpdater(ItemUpdater):
|
||||
|
||||
def update(self):
|
||||
self.item.sell_in = self.item.sell_in - 1
|
||||
|
||||
if self.item.quality > 0:
|
||||
self.item.quality = self.item.quality - 2
|
||||
|
||||
if self.item.sell_in < 0 and self.item.quality > 0:
|
||||
self.item.quality = self.item.quality - 2
|
||||
@ -101,5 +101,28 @@ class GildedRoseBackstagePassTest(unittest.TestCase):
|
||||
self.assertEqual(0, items[0].quality)
|
||||
self.assertEqual(-1, items[0].sell_in)
|
||||
|
||||
class GildedRoseConjuredItemTest(unittest.TestCase):
|
||||
|
||||
def test_item_quality(self):
|
||||
items = [Item("Conjured", 20, 40)]
|
||||
gilded_rose = GildedRose(items)
|
||||
gilded_rose.update_quality()
|
||||
self.assertEqual(38, items[0].quality)
|
||||
self.assertEqual(19, items[0].sell_in)
|
||||
|
||||
def test_item_quality_sell_in_passed(self):
|
||||
items = [Item("Conjured", 0, 40)]
|
||||
gilded_rose = GildedRose(items)
|
||||
gilded_rose.update_quality()
|
||||
self.assertEqual(36, items[0].quality)
|
||||
self.assertEqual(-1, items[0].sell_in)
|
||||
|
||||
def test_item_quality_sell_can_be_negative(self):
|
||||
items = [Item("Conjured", 20, 0)]
|
||||
gilded_rose = GildedRose(items)
|
||||
gilded_rose.update_quality()
|
||||
self.assertEqual(0, items[0].quality)
|
||||
self.assertEqual(19, items[0].sell_in)
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user