From 17550002e5b1791def0d813bb57cade3e3ae5cfe Mon Sep 17 00:00:00 2001 From: Anca Radu Date: Wed, 3 Jul 2024 16:45:03 +0300 Subject: [PATCH] Created most of the tests --- python/test_gilded_rose.py | 82 +++++++++++++++++++++++++++++++++++++- 1 file changed, 80 insertions(+), 2 deletions(-) diff --git a/python/test_gilded_rose.py b/python/test_gilded_rose.py index 1c92f638..f3fa30b9 100644 --- a/python/test_gilded_rose.py +++ b/python/test_gilded_rose.py @@ -9,8 +9,86 @@ class GildedRoseTest(unittest.TestCase): items = [Item("foo", 0, 0)] gilded_rose = GildedRose(items) gilded_rose.update_quality() - self.assertEqual("fixme", items[0].name) + self.assertEqual("foo", items[0].name) + + def test_constant_names(self): + items = [Item("meow", 0, 0), Item("bark", 0, 0), Item("roar", 0, 0)] + gilded_rose = GildedRose(items) + gilded_rose.update_quality() + self.assertEqual("meow", items[0].name) + self.assertEqual("bark", items[1].name) + self.assertEqual("roar", items[2].name) + + def test_day_passes(self): # (sellin decreases) + items = [Item("meow", 1, 10), Item("bark", 2, 10), Item("roar", 3, 10)] + gilded_rose = GildedRose(items) + gilded_rose.update_quality() + self.assertEqual(0, items[0].sell_in) + self.assertEqual(1, items[1].sell_in) + self.assertEqual(2, items[2].sell_in) + + def test_quality_decreases(self): # Not for Aged Brie + items = [Item("meow", 10, 1), Item("bark", 10, 2), Item("roar", 10, 3)] + gilded_rose = GildedRose(items) + gilded_rose.update_quality() + self.assertEqual(0, items[0].quality) + self.assertEqual(1, items[1].quality) + self.assertEqual(2, items[2].quality) + + def test_aged_brief(self): + items = [Item("Aged Brie", 10, 0), Item("Aged Brie", -1, 0)] + gilded_rose = GildedRose(items) + gilded_rose.update_quality() + self.assertEqual(1, items[0].quality) + self.assertEqual(2, items[1].quality) + + def test_passed_sellin(self): + items = [Item("banana", 0, 10), Item("apple", -1, 10)] + gilded_rose = GildedRose(items) + gilded_rose.update_quality() + self.assertEqual(8, items[0].quality) + self.assertEqual(8, items[1].quality) + + def test_quality_always_positive(self): + items = [Item("banana", -1, 0), Item("apple", 1, 0)] + gilded_rose = GildedRose(items) + gilded_rose.update_quality() + self.assertEqual(0, items[0].quality) + self.assertEqual(0, items[1].quality) + + def test_quality_not_more_50(self): + items = [Item("Aged Brie", 10, 50)] + gilded_rose = GildedRose(items) + gilded_rose.update_quality() + self.assertEqual(50, items[0].quality) + + def test_sulfuras_never_decrease(self): + items = [Item("Sulfuras, Hand of Ragnaros", -1, 80), Item("Sulfuras, Hand of Ragnaros", 0, 80), Item("Sulfuras, Hand of Ragnaros", 1, 80)] + gilded_rose = GildedRose(items) + gilded_rose.update_quality() + # self.assertEqual(80, items[0].quality) + self.assertEqual(80, items[1].quality) + self.assertEqual(80, items[2].quality) + + def test_backstage_passes(self): + items = [Item("Backstage passes to a TAFKAL80ETC concert", 10, 10), Item("Backstage passes to a Coldplay concert", 9, 10), + Item("Backstage passes", 5, 10), Item("Backstage passes", 4, 10), + Item("Backstage passes", 0, 10), Item("Backstage passes", -1, 10)] + gilded_rose = GildedRose(items) + gilded_rose.update_quality() + self.assertEqual(12, items[0].quality) + self.assertEqual(12, items[1].quality) + self.assertEqual(13, items[2].quality) + self.assertEqual(13, items[3].quality) + self.assertEqual(0, items[4].quality) + self.assertEqual(0, items[5].quality) + + def test_conjured(self): + items = [Item("Conjured Cake", -1, 10), Item("Conjured Cookie", 1, 10)] + gilded_rose = GildedRose(items) + gilded_rose.update_quality() + self.assertEqual(8, items[0].quality) + self.assertEqual(8, items[1].quality) - if __name__ == '__main__': unittest.main()