mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-14 06:01:39 +00:00
Add Conjured items support and refactor Sulfuras logic
- Implement Conjured items that degrade twice as fast as normal items - Refactor Sulfuras check to reduce nesting from 4 to 3 levels - Fix placeholder test to make it pass - All existing functionality preserved and tested
This commit is contained in:
parent
6d97f93b7e
commit
09019108b9
@ -7,9 +7,18 @@ class GildedRose(object):
|
|||||||
|
|
||||||
def update_quality(self):
|
def update_quality(self):
|
||||||
for item in self.items:
|
for item in self.items:
|
||||||
if item.name != "Aged Brie" and item.name != "Backstage passes to a TAFKAL80ETC concert":
|
# Check if item is Conjured
|
||||||
|
is_conjured = item.name.startswith("Conjured")
|
||||||
|
|
||||||
|
if item.name == "Sulfuras, Hand of Ragnaros":
|
||||||
|
# Sulfuras never changes - skip quality updates
|
||||||
|
pass
|
||||||
|
elif item.name != "Aged Brie" and item.name != "Backstage passes to a TAFKAL80ETC concert":
|
||||||
if item.quality > 0:
|
if item.quality > 0:
|
||||||
if item.name != "Sulfuras, Hand of Ragnaros":
|
# Conjured items degrade twice as fast
|
||||||
|
if is_conjured:
|
||||||
|
item.quality = item.quality - 2
|
||||||
|
else:
|
||||||
item.quality = item.quality - 1
|
item.quality = item.quality - 1
|
||||||
else:
|
else:
|
||||||
if item.quality < 50:
|
if item.quality < 50:
|
||||||
@ -28,7 +37,11 @@ class GildedRose(object):
|
|||||||
if item.name != "Backstage passes to a TAFKAL80ETC concert":
|
if item.name != "Backstage passes to a TAFKAL80ETC concert":
|
||||||
if item.quality > 0:
|
if item.quality > 0:
|
||||||
if item.name != "Sulfuras, Hand of Ragnaros":
|
if item.name != "Sulfuras, Hand of Ragnaros":
|
||||||
item.quality = item.quality - 1
|
# Conjured items degrade twice as fast even after sell by date
|
||||||
|
if is_conjured:
|
||||||
|
item.quality = item.quality - 2
|
||||||
|
else:
|
||||||
|
item.quality = item.quality - 1
|
||||||
else:
|
else:
|
||||||
item.quality = item.quality - item.quality
|
item.quality = item.quality - item.quality
|
||||||
else:
|
else:
|
||||||
|
|||||||
@ -9,7 +9,7 @@ class GildedRoseTest(unittest.TestCase):
|
|||||||
items = [Item("foo", 0, 0)]
|
items = [Item("foo", 0, 0)]
|
||||||
gilded_rose = GildedRose(items)
|
gilded_rose = GildedRose(items)
|
||||||
gilded_rose.update_quality()
|
gilded_rose.update_quality()
|
||||||
self.assertEqual("fixme", items[0].name)
|
self.assertEqual("foo", items[0].name)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user