def test_foo(self): items = [Item("foo", 0, 0)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEquals("foo", items[0].name) self.assertEqual(0, items[0].quality) self.assertEqual(-1, items[0].sell_in)
def test_quality_is_never_negative(self): items = [ItemFactory("foo", 3, 1)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertTrue(items[0].quality == 0) gilded_rose.update_quality() self.assertTrue(items[0].quality == 0)
def test_QualityMax(self): items = [Item(name="+5 Dexterity Vest", sell_in=10, quality=20), Item(name="Aged Brie", sell_in=2, quality=0), Item(name="Elixir of the Mongoose", sell_in=5, quality=7), Item(name="Backstage passes to a TAFKAL80ETC concert", sell_in=15, quality=20), Item(name="Backstage passes to a TAFKAL80ETC concert", sell_in=10, quality=49), Item(name="Backstage passes to a TAFKAL80ETC concert", sell_in=5, quality=49), Item(name="Conjured Mana Cake", sell_in=3, quality=6), ] gilded_rose = GildedRose(items) #We test by running update on the input items until either # 1) quality has stabilized (success) # 2) quality of any item exceeds 50 (failure) # 3) 100 iterations have taken place (failure) is_stable = False num_iterations = 0 max_num_iters = 100 qualities_prev = gilded_rose.Qualities() while not is_stable: num_iterations += 1 self.assertLessEqual(num_iterations, max_num_iters, \ "Quality not stabilized after " + str(max_num_iters) + " iterations") gilded_rose.update_quality() qualities = gilded_rose.Qualities() is_stable = True for q, qp in zip(qualities, qualities_prev): self.assertLessEqual(q, gilded_rose.quality_max, "Quality exceeds max allowed") if q != qp: is_stable = False; qualities_prev = qualities
def test_increases_the_quality_by_three_of_the_products_that_get_better_as_they_age_when_there_are_5_days_or_less_left(self): item = Item("Backstage passes to a TAFKAL80ETC concert", 5, 15) gilded_rose = GildedRose([item]) gilded_rose.update_quality() self._assert_quality_and_sell_in(item, sell_in=4, quality=18)
def test_quality_zero_for_backstage_passes_and_brie_when_we_have_passed_the_sell_in_date(self): item = Item("Backstage passes to a TAFKAL80ETC concert", 0, 20) gilded_rose = GildedRose([item]) gilded_rose.update_quality() self._assert_quality_and_sell_in(item, sell_in=-1, quality=0)
def test_increase_quality_by_two_for_products_that_get_better_as_they_age_and_there_are_10_days_or_less_left(self): item = Item("Backstage passes to a TAFKAL80ETC concert", 8, 30) gilded_rose = GildedRose([item]) gilded_rose.update_quality() self._assert_quality_and_sell_in(item, sell_in=7, quality=32)
def test_backstage(self): items = [ Item("Backstage passes to a TAFKAL80ETC concert", 11, 30), Item("Backstage passes to a TAFKAL80ETC concert", 10, 30), Item("Backstage passes to a TAFKAL80ETC concert", 6, 30), Item("Backstage passes to a TAFKAL80ETC concert", 5, 30), Item("Backstage passes to a TAFKAL80ETC concert", -1, 30) ] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEqual(31, gilded_rose.items[0].quality) self.assertEqual(32, gilded_rose.items[1].quality) self.assertEqual(32, gilded_rose.items[2].quality) self.assertEqual(33, gilded_rose.items[3].quality) self.assertEqual(0, gilded_rose.items[4].quality) self.assertEqual(10, gilded_rose.items[0].sell_in) self.assertEqual(9, gilded_rose.items[1].sell_in) self.assertEqual(5, gilded_rose.items[2].sell_in) self.assertEqual(4, gilded_rose.items[3].sell_in) self.assertEqual(-2, gilded_rose.items[4].sell_in) # one more day gilded_rose.update_quality() self.assertEqual(33, gilded_rose.items[0].quality) self.assertEqual(34, gilded_rose.items[1].quality) self.assertEqual(35, gilded_rose.items[2].quality) self.assertEqual(36, gilded_rose.items[3].quality) self.assertEqual(0, gilded_rose.items[4].quality) self.assertEqual(9, gilded_rose.items[0].sell_in) self.assertEqual(8, gilded_rose.items[1].sell_in) self.assertEqual(4, gilded_rose.items[2].sell_in) self.assertEqual(3, gilded_rose.items[3].sell_in) self.assertEqual(-3, gilded_rose.items[4].sell_in)
def test_QualityBrie(self): items = [Item(name="Aged Brie", sell_in=10, quality=0), Item(name="Aged Brie", sell_in=10, quality=0), ] gilded_rose = GildedRose(items) gilded_rose.update_quality() qualities = gilded_rose.Qualities() for q in qualities: self.assertGreater(q, 0, "Brie quality did not increase")
def test_modified(item, tstexpect): gr = GildedRose(list([item])) print(gr.items) for expected in tstexpect: gr.update_quality() ref = gr.items[0] print(expected, ref.sell_in, ref.quality) assert expected == [ref.sell_in, ref.quality]
def test_decreses_by_one_the_quality_and_sell_in_for_regular_items(self): items = [ Item("+5 Dexterity Vest", 10, 20), Item("Conjured Mana Cake", 3,6) ] gilded_rose = GildedRose(items) gilded_rose.update_quality() self._assert_quality_and_sell_in(items[0], sell_in=9, quality=19) self._assert_quality_and_sell_in(items[1], sell_in=2, quality=5)
def test_decreases_the_quality_of_the_rpoducts_twice_as_fast_when_we_have_passed_the_sell_in_date(self): items = [ Item("+5 Dexterity Vest", 0, 20), Item("Conjured Mana Cake", 0, 6) ] gilded_rose = GildedRose(items) gilded_rose.update_quality() self._assert_quality_and_sell_in(items[0], sell_in=-1, quality=18) self._assert_quality_and_sell_in(items[1], sell_in=-1, quality=4)
def test_Sulfuras(self): items = [Item(name="Sulfuras, Hand of Ragnaros", sell_in=0, quality=80)] gilded_rose = GildedRose(items) quality_pre = gilded_rose.Qualities()[0] sell_in_pre = gilded_rose.SellIns()[0] gilded_rose.update_quality() quality_post = gilded_rose.Qualities()[0] sell_in_post = gilded_rose.SellIns()[0] self.assertEqual(quality_pre, quality_post, "Sulfuras quality has changed") self.assertEqual(sell_in_pre, sell_in_post, "Sulfuras sell-in value changed")
def test_increases_quality_by_one_for_products_that_get_better_as_they_age(self): items = [ Item("Aged Brie", 20, 30), Item("Backstage passes to a TAFKAL80ETC concert", 20, 30) ] gilded_rose = GildedRose(items) gilded_rose.update_quality() self._assert_quality_and_sell_in(items[0], sell_in=19, quality=31) self._assert_quality_and_sell_in(items[1], sell_in=19, quality=31)
def test_past_date(self): items = [ Item("Regular thing", 0, 4), Item("Other thing", 1, 2), Item("Widget 33", 1, 5) ] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEqual(2, gilded_rose.items[0].quality) self.assertEqual(1, gilded_rose.items[1].quality) self.assertEqual(4, gilded_rose.items[2].quality) gilded_rose.update_quality() self.assertEqual(0, gilded_rose.items[0].quality) self.assertEqual(0, gilded_rose.items[1].quality) self.assertEqual(2, gilded_rose.items[2].quality)
def test_brie(self): items = [Item("Aged Brie", 2, 46)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEqual("Aged Brie", gilded_rose.items[0].name) self.assertEqual(47, gilded_rose.items[0].quality) gilded_rose.update_quality() self.assertEqual(48, gilded_rose.items[0].quality) gilded_rose.update_quality() #increase by 2 now self.assertEqual(50, gilded_rose.items[0].quality) gilded_rose.update_quality() self.assertEqual(50, gilded_rose.items[0].quality)
def test_DefaultQualityDec(self): items = [Item(name="+5 Dexterity Vest", sell_in=-1, quality=20), Item(name="Elixir of the Mongoose", sell_in=-1, quality=7), ] gilded_rose = GildedRose(items) #Test that the basic decrease is positive: self.assertGreater(gilded_rose.default_qual_dec, 0) #Now test that for ordinary items, the decrease doubles after the SellIn rate quality_pre = gilded_rose.Qualities() gilded_rose.update_quality() quality_post = gilded_rose.Qualities() for i in range(0, len(items)): self.assertEqual(quality_pre[i]-quality_post[i], 2*gilded_rose.default_qual_dec, \ "Quality decrement not doubling after sellIn==0")
def test_QualityConjured(self): items = [Item(name="Conjured Mana Cake", sell_in=10, quality=6), Item(name="Conjured Mana Cake", sell_in=-10, quality=6)] gilded_rose = GildedRose(items) qualities_pre = gilded_rose.Qualities() gilded_rose.update_quality() qualities_post = gilded_rose.Qualities() #Sell-In >=0 default_conj_dec = 2 * gilded_rose.default_qual_dec self.assertEqual(qualities_pre[0] - qualities_post[0], default_conj_dec, \ "Invalid Conjured item default decrement") #Sell-In < 0 overdue_conj_dec = 4 * gilded_rose.default_qual_dec self.assertEqual(qualities_pre[1] - qualities_post[1], overdue_conj_dec, \ "Invalid Conjured item overdue decrement")
def test_sulfuras(self): items = [ Item("Sulfuras, Hand of Ragnaros", 20, 20), Item("Sulfuras, Hand of Ragnaros", 0, 80), Item("Sulfuras, Hand of Ragnaros", -12, 0), Item("Sulfuras, Hand of Ragnaros", 2, 50), ] gilded_rose = GildedRose(items) for _ in range(50): gilded_rose.update_quality() self.assertEqual(20, gilded_rose.items[0].quality) self.assertEqual(80, gilded_rose.items[1].quality) self.assertEqual(0, gilded_rose.items[2].quality) self.assertEqual(50, gilded_rose.items[3].quality) self.assertEqual(20, gilded_rose.items[0].sell_in) self.assertEqual(0, gilded_rose.items[1].sell_in) self.assertEqual(-12, gilded_rose.items[2].sell_in) self.assertEqual(2, gilded_rose.items[3].sell_in)
def test_SellIn(self): items = [ Item(name="+5 Dexterity Vest", sell_in=10, quality=20), Item(name="Aged Brie", sell_in=2, quality=0), Item(name="Elixir of the Mongoose", sell_in=5, quality=7), Item(name="Backstage passes to a TAFKAL80ETC concert", sell_in=15, quality=20), Item(name="Backstage passes to a TAFKAL80ETC concert", sell_in=10, quality=49), Item(name="Backstage passes to a TAFKAL80ETC concert", sell_in=5, quality=49), Item(name="Conjured Mana Cake", sell_in=3, quality=6), ] gilded_rose = GildedRose(items) sell_ins_pre = gilded_rose.SellIns() gilded_rose.update_quality() sell_ins_post = gilded_rose.SellIns() for i in range(0, len(items)): self.assertEqual(sell_ins_post[i] - sell_ins_pre[i], -1, \ "Sell-In value not decrementing")
def test_QualityZero(self): items = [Item(name="+5 Dexterity Vest", sell_in=10, quality=0), Item(name="Aged Brie", sell_in=10, quality=0), Item(name="Sulfuras, Hand of Ragnaros", sell_in=10, quality=0), Item(name="Elixir of the Mongoose", sell_in=10, quality=0), Item(name="Backstage passes to a TAFKAL80ETC concert", sell_in=10, quality=0), Item(name="Conjured Mana Cake", sell_in=10, quality=0), Item(name="+5 Dexterity Vest", sell_in=-10, quality=0), Item(name="Aged Brie", sell_in=-10, quality=0), Item(name="Sulfuras, Hand of Ragnaros", sell_in=-10, quality=0), Item(name="Elixir of the Mongoose", sell_in=-10, quality=0), Item(name="Backstage passes to a TAFKAL80ETC concert", sell_in=-10, quality=0), Item(name="Conjured Mana Cake", sell_in=-10, quality=0), ] gilded_rose = GildedRose(items) gilded_rose.update_quality() quality_post = gilded_rose.Qualities() for quality in quality_post: self.assertGreaterEqual(quality, 0, "Invalid quality decrease")
def test_quality_decreases_faster_after_date_passed(self): items = [ItemFactory("foo", 2, 4)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEquals(3, items[0].quality) gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEquals(1, items[0].quality)
class GildedRoseTextTest(object): def __init__(self, items): self.items = items self.GildedRose = GildedRose(self.items) def run(self, days): self.printHead() for day in range(days): self.printDay(day) self.next_day() def next_day(self): self.GildedRose.update_quality() def printDay(self, day): print "-------- day %s --------" % day print "name, sellIn, quality" for item in self.items: print item print def printHead(self): print "OMGHAI!"
def setUp(self): self.names = ["+5 Dexterity Vest", "Aged Brie", "Elixir of the Mongoose", "Sulfuras, Hand of Ragnaros", "Backstage passes to a TAFKAL80ETC concert", "Conjured Mana Cake"] self.items = [Item(self.names[0], 10, 20)] self.items += [Item(self.names[1], 2, 0)] self.items += [Item(self.names[2], 5, 7)] self.items += [Item(self.names[3], 0, 80)] self.items += [Item(self.names[4], 15, 20)] self.items += [Item(self.names[5], 3, 6)] self.gilded_rose = GildedRose(self.items)
def test_BackstagePass(self): items = [Item(name="Backstage passes to a TAFKAL80ETC concert", sell_in=15, quality=20)] gilded_rose = GildedRose(items) sell_in = gilded_rose.SellIns()[0] prev_quality = gilded_rose.Qualities()[0] #The loop iterates through all phases of backstage pass valuation, from #>10 days out to past-sellby while sell_in >= -1: gilded_rose.update_quality() quality = gilded_rose.Qualities()[0] if sell_in<0: self.assertEqual(quality, 0, "Backstage pass not 0 after sell-by date") else: if sell_in<=5: expected_inc = min(gilded_rose.quality_max-prev_quality, 3) elif sell_in<=10: expected_inc = min(gilded_rose.quality_max-prev_quality, 2) else: expected_inc = min(gilded_rose.quality_max-prev_quality, 1) self.assertEqual(quality - prev_quality, expected_inc, \ "Backstage pass value not changing appropriately at sell_in value " + str(sell_in)) prev_quality = quality sell_in = gilded_rose.SellIns()[0]
def test_quality_never_negative(self): item1 = Item("food", 0, 1) item2 = Item("food", 1, 0) gilded_rose1 = GildedRose(item1) gilded_rose2 = GildedRose(item2) gilded_rose1.update_quality() gilded_rose2.update_quality() self.assertEqual(gilded_rose1.item.quality, 0) self.assertEqual(gilded_rose2.item.quality, 0)
def test_quality_fifty_threshold(self): item1 = Item("Aged Brie", -2, 49.5) item2 = Item("Aged Brie", -2, 49) gilded_rose1 = GildedRose(item1) gilded_rose2 = GildedRose(item2) gilded_rose1.update_quality() gilded_rose2.update_quality() self.assertEqual(gilded_rose1.item.quality, 50) self.assertEqual(gilded_rose2.item.quality, 50)
def test_conjured(self): items = [Item("Conjured Mana Cake", 2, 7)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEqual(5, gilded_rose.items[0].quality) self.assertEqual(1, gilded_rose.items[0].sell_in) # one more day gilded_rose.update_quality() self.assertEqual(3, gilded_rose.items[0].quality) self.assertEqual(0, gilded_rose.items[0].sell_in) # one more day again gilded_rose.update_quality() self.assertEqual(0, gilded_rose.items[0].quality) self.assertEqual(-1, gilded_rose.items[0].sell_in)
def test_backstage_passes_increases_in_quality_by_3(self): items = [ItemFactory(name="Backstage passes to a TAFKAL80ETC concert", sell_in=7, quality=10)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEquals(6, items[0].sell_in) self.assertEquals(12, items[0].quality) gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEquals(5, items[0].sell_in) self.assertEquals(15, items[0].quality)
def test_backstage_passes_drops_in_quality_after_date(self): items = [ItemFactory(name="Backstage passes to a TAFKAL80ETC concert", sell_in=2, quality=10)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEquals(1, items[0].sell_in) self.assertEquals(13, items[0].quality) gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEquals(0, items[0].sell_in) self.assertEquals(0, items[0].quality)
def test_Aged_Brie(self): items = [Item("Aged Brie", -0, 10), Item("Aged Brie", -5, 10)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEquals(12, items[0].quality)
def test_Sulfuras(self): items = [Item("Sulfuras, Hand of Ragnaros", 1, 10)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEquals(10, items[0].quality)
def test_conjured_2(self): items = [Item("Conjured III", -0, 10)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEquals(7, items[0].quality)
def test_update_quality(item_name, initial_quality, initial_sellin, updated_quality, updated_sellin, comment): item = Item(item_name, initial_sellin, initial_quality) gilded_rose = GildedRose([item]) gilded_rose.update_quality() assert item.quality == updated_quality assert item.sell_in == updated_sellin
def test_quality_is_never_negative(self): items = [AgingItem("foo", 0, 0)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEqual(0, items[0].quality)
def test_quality_is_never_higher_than_50(self): items = [BetterWithAgeItem("Aged Brie", 10, 50)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEqual(50, items[0].quality)
def test_quality_of_foo_never_becomes_negative(self): items = [Item('foo', 0, 0)] gilded_rose = GildedRose(items) gilded_rose.update_quality() assert items[0].quality == 0 assert items[0].sell_in == -1
def test_out_of_date_foo_deterioration(self): items = [Item('foo', -1, 10)] gilded_rose = GildedRose(items) gilded_rose.update_quality() assert items[0].quality == 8 assert items[0].sell_in == -2
def test_backstage_passes_quality_after_sell_by(self): items = [Item('Backstage passes to a TAFKAL80ETC concert', 0, 20)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEquals(items[0].quality, 0) assert items[0].sell_in == -1
from gilded_rose import GildedRose from unittest import TestCase, skip gilded_rose = GildedRose() class GildedRoseTest(TestCase): def setUp(self): self.items = [] def test_regular_items_decrease_by_one(self): self.items.append(GildedRose.create_item("+5 Dexterity Vest", 10, 20)) gilded_rose.update_quality(self.items) expected = {'sell_in': 9, 'quality': 19} item = self.items[0] self.assertEqual(item.quality, expected['quality']) self.assertEqual(item.sell_in, expected['sell_in']) def test_quality_goes_up_for_improving_products(self): self.items.append(GildedRose.create_item("Aged Brie", 20, 30)) self.items.append(GildedRose.create_item("Backstage passes to a TAFKAL80ETC concert", 20, 30)) gilded_rose.update_quality(self.items) expected = [ {'sell_in': 19, 'quality': 31}, {'sell_in': 19, 'quality': 31}, ] for index, expectation in enumerate(expected): item = self.items[index]
from items import Item if __name__ == "__main__": print("OMGHAI!") items = [ Item(name="+5 Dexterity Vest", sell_in=10, quality=20), Item(name="Aged Brie", sell_in=2, quality=0), Item(name="Elixir of the Mongoose", sell_in=5, quality=7), Item(name="Sulfuras, Hand of Ragnaros", sell_in=0, quality=80), Item(name="Sulfuras, Hand of Ragnaros", sell_in=-1, quality=80), Item(name="Backstage passes to a TAFKAL80ETC concert", sell_in=15, quality=20), Item(name="Backstage passes to a TAFKAL80ETC concert", sell_in=10, quality=49), Item(name="Backstage passes to a TAFKAL80ETC concert", sell_in=5, quality=49), Item(name="Conjured Mana Cake", sell_in=3, quality=6), # <-- :O ] gilded_rose = GildedRose(items) days = 2 import sys if len(sys.argv) > 1: days = int(sys.argv[1]) + 1 for day in range(days): print("-------- day %s --------" % day) print("name, sellIn, quality") print(gilded_rose) print("") gilded_rose.update_quality()
def test_foo(self): items = [Item("fixme", -1, 0), Item("mana potion", 10, 3)] gilded_rose = GildedRose(items) gilded_rose.update_quality()
def test_name(self): items = [Generic_depriciate("Conjured Mana Cake", 3, 6, 2)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEqual("Conjured Mana Cake", items[0].name)
def test_quality_degrades_twice_as_fast_after_sell_by_date(self): items = [AgingItem("foo", 1, 10), AgingItem("bar", -1, 10)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEqual(9, items[0].quality) self.assertEqual(8, items[1].quality)
def test_foo(self): items = [Item("foo", 0, 0)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEquals("fixme", items[0].name)
def test_sulfuras_doesnt_age(self): items = [LegendaryItem("Sulfuras, Hand of Ragnaros", 10, 25)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEqual(10, items[0].sell_in)
def test_not_negative(self): items = [Item("new_item", -0, -50)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEquals(-50, items[0].quality)
def test_aged_brie_quality_caps_at_50_when_in_date(self): items = [Item('Aged Brie', 10, 50)] gilded_rose = GildedRose(items) gilded_rose.update_quality() assert items[0].quality == 50 assert items[0].sell_in == 9
def test_foo(self): items = [Item('foo', 0, 0)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEqual('foo', items[0].name)
print("OMGHAI!") items = [ Item(name="+5 Dexterity Vest", sell_in=10, quality=20), Item(name="Aged Brie", sell_in=2, quality=0), Item(name="Elixir of the Mongoose", sell_in=5, quality=7), Item(name="Sulfuras, Hand of Ragnaros", sell_in=0, quality=80), Item(name="Sulfuras, Hand of Ragnaros", sell_in=-1, quality=80), Item(name="Backstage passes to a TAFKAL80ETC concert", sell_in=15, quality=20), Item(name="Backstage passes to a TAFKAL80ETC concert", sell_in=10, quality=49), Item(name="Backstage passes to a TAFKAL80ETC concert", sell_in=5, quality=49), Item(name="Conjured Mana Cake", sell_in=3, quality=6), # <-- :O ] days = 2 import sys if len(sys.argv) > 1: days = int(sys.argv[1]) + 1 for day in range(days): print("-------- day %s --------" % day) print("name, sellIn, quality") for item in items: print(item) print("") GildedRose(items).update_quality()
def test_out_of_date_conjured_mana_cake_deterioration(self): items = [Item('Conjured Mana Cake', -1, 10)] gilded_rose = GildedRose(items) gilded_rose.update_quality() assert items[0].quality == 6 assert items[0].sell_in == -2
# Archivo principal from NormalItem import NormalItem from AgedBrie import AgedBrie from BackstagePass import BackstagePass from Conjured import Conjured from Sulfuras import Sulfuras from gilded_rose import GildedRose # Crear los objetos de las clases dexterity = NormalItem('+5 Dexterity Vest', 10, 20) aged = AgedBrie('Aged Brie', 2, 0) elixir = NormalItem('Elixir of the Mongoose', 5, 7) sulfuras = Sulfuras('Sulfuras, Hand of Ragnaros', 0, 80) sulfuras_two = Sulfuras('Sulfuras, Hand of Ragnaros', -1, 80) first_backstage = BackstagePass('Backstage passes to a TAFKAL80ETC concert', 15, 20) second_backstage = BackstagePass('Backstage passes to a TAFKAL80ETC concert', 10, 49) third_backstage = BackstagePass('Backstage passes to a TAFKAL80ETC concert', 5, 49) conjured = Conjured('Conjured Mana Cake', 3, 6) stock = GildedRose([ dexterity, aged, elixir, sulfuras, sulfuras_two, first_backstage, second_backstage, third_backstage, conjured ]) stock.get_items() stock.update_quality(0)
def test_sulfuras_never_decreases_sell_by_or_quality(self): items = [Item('Sulfuras, Hand of Ragnaros', 100, 30)] gilded_rose = GildedRose(items) gilded_rose.update_quality() assert items[0].quality == 30 self.assertEquals(items[0].sell_in, 100)
def test_Backstage_passes_2(self): items = [Item("Backstage passes to a TAFKAL80ETC concert", 10, 10)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEquals(12, items[0].quality)
def test_sulfuras_can_be_over_fifty_in_quality(self): items = [Item('Sulfuras, Hand of Ragnaros', 100, 80)] gilded_rose = GildedRose(items) gilded_rose.update_quality() assert items[0].quality == 80 assert items[0].sell_in == 100
def test_more_that_50(self): items = [Item("new_item", 1, 100)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEquals(True, items[0].quality != 100)
def test_backstage_passes_while_ten_days_or_less_left(self): items = [Item('Backstage passes to a TAFKAL80ETC concert', 10, 20)] gilded_rose = GildedRose(items) gilded_rose.update_quality() assert items[0].quality == 22 assert items[0].sell_in == 9
def test_aged_brie_quality_increses_over_time_while_in_date(self): items = [Item('Aged Brie', 10, 0)] gilded_rose = GildedRose(items) gilded_rose.update_quality() assert items[0].quality == 1 assert items[0].sell_in == 9
def test_sellin_day3(self): items = [Generic_depriciate("Conjured Mana Cake", 0, 0, 2)] gilded_rose = GildedRose(items) gilded_rose.update_quality() self.assertEqual(-1, items[0].sell_in) self.assertEqual(0, items[0].quality)
def test_example(self): items = [Item(SOME_ITEM_NAME, 0, 0)] gilded_rose = GildedRose() gilded_rose.update_quality() self.assertEqual(SOME_ITEM_NAME, items[0].name)
def test_aged_brie_quality_increses_by_two_when_out_of_date(self): items = [Item('Aged Brie', -5, 0)] gilded_rose = GildedRose(items) gilded_rose.update_quality() assert items[0].quality == 2 assert items[0].sell_in == -6