feat: add SulfurasStrategy

This commit is contained in:
Raj Vora committed 2026-05-05 13:32:30 -07:00
1 parent 41c3a9d510
commit 253c445e31
2 files changed
+36 -1

No files matched your search

+24 -1
View File
@@ -9,7 +9,7 @@ if str(_EXERCISE_ROOT) not in sys.path:
from gilded_rose import (
Item, GildedRose, NormalStrategy, AgedBrieStrategy,
BackstagePassStrategy,
BackstagePassStrategy, SulfurasStrategy,
)
@@ -146,5 +146,28 @@ class TestBackstagePassStrategy(unittest.TestCase):
self.assertEqual(8, item.sell_in)
class TestSulfurasStrategy(unittest.TestCase):
"""Tests for SulfurasStrategy — legendary item, never changes."""
def setUp(self):
self.strategy = SulfurasStrategy()
def test_quality_never_changes(self):
item = Item("Sulfuras, Hand of Ragnaros", sell_in=0, quality=80)
self.strategy.update(item, days=1)
self.assertEqual(80, item.quality)
def test_sell_in_never_changes(self):
item = Item("Sulfuras, Hand of Ragnaros", sell_in=0, quality=80)
self.strategy.update(item, days=1)
self.assertEqual(0, item.sell_in)
def test_unchanged_after_many_days(self):
item = Item("Sulfuras, Hand of Ragnaros", sell_in=0, quality=80)
self.strategy.update(item, days=100)
self.assertEqual(80, item.quality)
self.assertEqual(0, item.sell_in)
if __name__ == '__main__':
unittest.main()