Exemplo n.º 1
0
        public void The_Quality_of_an_item_is_never_negative()
        {
            int numberOfDays = 50;

            IList <Item> items = new List <Item> {
                new Item {
                    Name = "foo", SellIn = 1, Quality = 1
                }
            };
            GildedRose app = new GildedRose(items);

            app.AdvanceTime(numberOfDays);

            Assert.IsTrue(items[0].Quality > -1);
        }
        public void Sulfuras_never_decreases_in_Quality()
        {
            int initialQuality = 80;
            int numberOfDays   = 50;

            IList <Item> items = new List <Item> {
                new Item {
                    Name = Sulfuras, SellIn = 10, Quality = initialQuality
                }
            };
            GildedRose app = new GildedRose(items);

            app.AdvanceTime(numberOfDays);

            Assert.AreEqual(initialQuality, items[0].Quality);
        }
        public void Sulfuras_never_has_to_be_sold()
        {
            int initialSellIn = 10;
            int numberOfDays  = 50;

            IList <Item> items = new List <Item> {
                new Item {
                    Name = Sulfuras, SellIn = initialSellIn, Quality = 80
                }
            };
            GildedRose app = new GildedRose(items);

            app.AdvanceTime(numberOfDays);

            Assert.AreEqual(initialSellIn, items[0].SellIn);
        }
Exemplo n.º 4
0
        public void SellIn_reduce_over_time()
        {
            int initialSellIn = 5;
            int numberOfDays  = 10;

            IList <Item> items = new List <Item> {
                new Item {
                    Name = "foo", SellIn = initialSellIn, Quality = 10
                }
            };
            GildedRose app = new GildedRose(items);

            app.AdvanceTime(numberOfDays);

            Assert.AreEqual(initialSellIn - numberOfDays, items[0].SellIn);
        }
        public void Quality_degrades_by_2_before_sell_by_date()
        {
            int initialQuality = 10;
            int initialSellIn  = 3;
            int numberOfDays   = 2;

            IList <Item> items = new List <Item> {
                new Item {
                    Name = Conjured, SellIn = initialSellIn, Quality = initialQuality
                }
            };
            GildedRose app = new GildedRose(items);

            app.AdvanceTime(numberOfDays);

            Assert.AreEqual(initialQuality - (numberOfDays * 2), items[0].Quality);
        }
Exemplo n.º 6
0
        public void Backstage_passes_Quality_drops_to_0_after_concert()
        {
            int initialQuality = 10;
            int initialSellIn  = 1;
            int numberOfDays   = 2;

            IList <Item> items = new List <Item> {
                new Item {
                    Name = BackstagePasses, SellIn = initialSellIn, Quality = initialQuality
                }
            };
            GildedRose app = new GildedRose(items);

            app.AdvanceTime(numberOfDays);

            Assert.AreEqual(0, items[0].Quality);
        }
Exemplo n.º 7
0
        public void The_Quality_of_Backstage_passes_is_never_more_than_50()
        {
            int initialQuality = 49;
            int numberOfDays   = 5;

            IList <Item> items = new List <Item> {
                new Item {
                    Name = BackstagePasses, SellIn = 10, Quality = initialQuality
                }
            };
            GildedRose app = new GildedRose(items);

            app.AdvanceTime(numberOfDays);

            Assert.IsTrue(items[0].Quality > initialQuality);
            Assert.AreEqual(50, items[0].Quality);
        }
Exemplo n.º 8
0
        public void Backstage_passes_increases_in_Quality_as_its_SellIn_value_approaches()
        {
            int initialQuality = 10;
            int initialSellIn  = 15;
            int numberOfDays   = 2;

            IList <Item> items = new List <Item> {
                new Item {
                    Name = BackstagePasses, SellIn = initialSellIn, Quality = initialQuality
                }
            };
            GildedRose app = new GildedRose(items);

            app.AdvanceTime(numberOfDays);

            Assert.AreEqual(initialQuality + numberOfDays, items[0].Quality);
        }
Exemplo n.º 9
0
        public void Once_sell_by_date_has_passed_Quality_increases_twice_as_fast()
        {
            int initialQuality = 1;
            int initialSellIn  = -1;
            int numberOfDays   = 1;

            IList <Item> items = new List <Item> {
                new Item {
                    Name = AgedBrie, SellIn = initialSellIn, Quality = initialQuality
                }
            };
            GildedRose app = new GildedRose(items);

            app.AdvanceTime(numberOfDays);

            Assert.AreEqual(3, items[0].Quality);
        }
Exemplo n.º 10
0
        public void The_Quality_of_Aged_Brie_is_never_more_than_50()
        {
            int initialQuality = 1;
            int numberOfDays   = 50;

            IList <Item> items = new List <Item> {
                new Item {
                    Name = AgedBrie, SellIn = 10, Quality = initialQuality
                }
            };
            GildedRose app = new GildedRose(items);

            app.AdvanceTime(numberOfDays);

            Assert.IsTrue(items[0].Quality > initialQuality);
            Assert.AreEqual(50, items[0].Quality);
        }
Exemplo n.º 11
0
        public void Aged_Brie_increases_in_Quality_the_older_it_gets()
        {
            int initialQuality = 1;
            int numberOfDays   = 4;

            IList <Item> items = new List <Item> {
                new Item {
                    Name = AgedBrie, SellIn = 10, Quality = initialQuality
                }
            };
            GildedRose app = new GildedRose(items);

            app.AdvanceTime(numberOfDays);

            Assert.IsTrue(items[0].Quality > initialQuality);
            Assert.AreEqual(initialQuality + numberOfDays, items[0].Quality);
        }
Exemplo n.º 12
0
        public void Backstage_passes_increases_in_Quality_by_3_when_SellIn_between_0_and_5()
        {
            int initialQuality = 10;
            int initialSellIn  = 3;
            int numberOfDays   = 2;

            IList <Item> items = new List <Item> {
                new Item {
                    Name = BackstagePasses, SellIn = initialSellIn, Quality = initialQuality
                }
            };
            GildedRose app = new GildedRose(items);

            app.AdvanceTime(numberOfDays);

            var qualityIncrease = initialQuality + (numberOfDays * 3);

            Assert.AreEqual(qualityIncrease, items[0].Quality);
        }
Exemplo n.º 13
0
        public void Once_sell_by_date_has_passed_Quality_degrades_twice_as_fast()
        {
            int initialQuality = 10;
            int initialSellIn  = 1;
            int numberOfDays   = 4;

            IList <Item> items = new List <Item> {
                new Item {
                    Name = "foo", SellIn = initialSellIn, Quality = initialQuality
                }
            };
            GildedRose app = new GildedRose(items);

            app.AdvanceTime(numberOfDays);

            var normalRateQualityDecrease = initialSellIn;
            var doubleRateQualityDecrease = (numberOfDays - initialSellIn) * 2;

            Assert.AreEqual(initialQuality - (normalRateQualityDecrease + doubleRateQualityDecrease), items[0].Quality);
        }