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)
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)
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)
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)
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)
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()
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)
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)