Beispiel #1
0
 def test_update_quality_v2_deducts_more_quality_of_degradable_item_when_sell_date_is_reached(
         self):
     items = [DegradableStockItem("foo", 0, 4)]
     gilded_rose_v1 = GildedRose(items)
     gilded_rose_v1.update_quality_v2()
     self.assertEqual(2, items[0].quality)
     self.assertEqual(-1, items[0].sell_in)
Beispiel #2
0
 def test_update_quality_v2_increases_quality_backstage_tickets(self):
     items = [
         BackStageTicketItem("foo", 10, 10),
         BackStageTicketItem("bar", 4, 10),
         BackStageTicketItem("pj", 0, 10)
     ]
     gilded_rose = GildedRose(items)
     gilded_rose.update_quality_v2()
     self.assertEqual(12, items[0].quality)
     self.assertEqual(13, items[1].quality)
     self.assertEqual(0, items[2].quality)
Beispiel #3
0
 def test_update_quality_increases_quality_of_ageable_items(self):
     items = [AgeableStockItem("foo", 1, 10)]
     gilded_rose = GildedRose(items)
     gilded_rose.update_quality_v2()
     self.assertEqual(11, items[0].quality)
Beispiel #4
0
 def test_update_quality_v2_does_not_set_negative_quality_value(self):
     items = [DegradableStockItem("foo", 3, 0)]
     gilded_rose = GildedRose(items)
     gilded_rose.update_quality_v2()
     self.assertEqual(0, items[0].quality)
Beispiel #5
0
 def test_update_quality_v2_deducts_quality_value_of_degradable_item(self):
     items = [DegradableStockItem("foo", 1, 1)]
     gilded_rose_v2 = GildedRose(items)
     gilded_rose_v2.update_quality_v2()
     self.assertEqual(0, items[0].sell_in)
     self.assertEqual(0, items[0].quality)
Beispiel #6
0
 def test_update_quality_v2_with_V1_item_should_raise_exception(self):
     gilded_rose = GildedRose([Item("foo", 1, 2)])
     with self.assertRaises(Exception):
         gilded_rose.update_quality_v2()
Beispiel #7
0
 def test_update_quality_v2_does_not_change_quality_of_durable_item_(self):
     items = [DurableStockItem("Sulfuras, Hand of Ragnaros", 10, 80)]
     gilded_rose = GildedRose(items)
     gilded_rose.update_quality_v2()
     self.assertEqual(80, items[0].quality)
     self.assertEqual(10, items[0].sell_in)
Beispiel #8
0
 def test_update_quality_v2_does_not_increase_quality_when_maximum_is_hit(
         self):
     items = [AgeableStockItem("foo", 10, 50)]
     gilded_rose = GildedRose(items)
     gilded_rose.update_quality_v2()
     self.assertEqual(50, items[0].quality)