def test_sulfuras_update(self): items = [Item("Sulfuras, Hand of Ragnaros", 10, 40)] # Update does nothing to this item update_quality(items) self.assertEquals(10, items[0].sell_in) self.assertEquals(40, items[0].quality)
def test_backstage_update(self): items = [Item("Backstage passes to a TAFKAL80ETC concert", 20, 20)] # Update with more than 10 sell in days increases quality by 1 and lowers # sell In days by 1 update_quality(items) self.assertEquals(19, items[0].sell_in) self.assertEquals(21, items[0].quality) # Update with 10 - 6 sell in days increases quality by 2 and lowers # sell In days by 1 for _ in range(10): update_quality(items) self.assertEquals(9, items[0].sell_in) self.assertEquals(32, items[0].quality) # Update with 5 - 1 sell in days increases quality by 3 and lowers # sell In days by 1 for _ in range(5): update_quality(items) self.assertEquals(4, items[0].sell_in) self.assertEquals(43, items[0].quality) # The quality is never greater than 50 for _ in range(4): update_quality(items) self.assertEqual(50, items[0].quality) # Update past the concert date date lowers the quality to 0 update_quality(items) self.assertEqual(0, items[0].quality)
def test_aged_update(self): items = [Item("Aged Brie", 10, 40)] # Update lowers sell In days by 1 and increases quality by 1 update_quality(items) self.assertEquals(9, items[0].sell_in) self.assertEquals(41, items[0].quality) # The quality is never greater than 50 for _ in range(60): update_quality(items) self.assertEqual(50, items[0].quality)
def test_conjured_update(self): items = [Item("Conjured bow tie", 10, 40)] # Update lowers quality by 2 and sell In days by 1 update_quality(items) self.assertEquals(9, items[0].sell_in) self.assertEquals(38, items[0].quality) # Update past the sell date lowers the quality by 4 for _ in range(10): update_quality(items) self.assertEqual(16, items[0].quality) # The quality is never negative for _ in range(20): update_quality(items) self.assertEqual(0, items[0].quality)
def test_standard_update(self): items = [Item("foo", 10, 40)] # Update lowers quality and sell In days by 1 update_quality(items) self.assertEquals(9, items[0].sell_in) self.assertEquals(39, items[0].quality) # Update past the sell date lowers the quality by 2 for _ in range(10): update_quality(items) self.assertEqual(28, items[0].quality) # The quality is never negative for _ in range(20): update_quality(items) self.assertEqual(0, items[0].quality)