public void UpdateQuality_GivenSulfurasItem_QualityShouldNotChange()
        {
            var items = new List <Item>()
            {
                new Item()
                {
                    Name    = "Sulfuras, Hand of Ragnaros",
                    Quality = 80,
                    SellIn  = 10
                }
            };

            _gildedRose.UpdateQuality(items);

            items[0].Quality.Should().Be(80);
        }
        public void Run()
        {
            Print("OMGHAI!");

            IList <Item> Items = new List <Item> {
                new Item {
                    Name = "+5 Dexterity Vest", SellIn = 10, Quality = 20
                },
                new Item {
                    Name = "Aged Brie", SellIn = 2, Quality = 0
                },
                new Item {
                    Name = "Elixir of the Mongoose", SellIn = 5, Quality = 7
                },
                new Item {
                    Name = "Sulfuras, Hand of Ragnaros", SellIn = 0, Quality = 80
                },
                new Item {
                    Name = "Sulfuras, Hand of Ragnaros", SellIn = -1, Quality = 80
                },
                new Item
                {
                    Name    = "Backstage passes to a TAFKAL80ETC concert",
                    SellIn  = 15,
                    Quality = 20
                },
                new Item
                {
                    Name    = "Backstage passes to a TAFKAL80ETC concert",
                    SellIn  = 10,
                    Quality = 49
                },
                new Item
                {
                    Name    = "Backstage passes to a TAFKAL80ETC concert",
                    SellIn  = 5,
                    Quality = 49
                },
                // this conjured item does not work properly yet
                new Item {
                    Name = "Conjured Mana Cake", SellIn = 3, Quality = 6
                }
            };

            var app = new GildedRoseStore(new StrategyFactory());


            for (var i = 0; i < 31; i++)
            {
                Print($"-------- day {i} --------");
                Print("name, sellIn, quality");
                for (var j = 0; j < Items.Count; j++)
                {
                    Print($"{Items[j].Name}, {Items[j].SellIn} , {Items[j].Quality}");
                }
                Print("");
                app.UpdateQuality(Items);
            }
        }
        public void UpdateQuality_GivenAgedBrieItem_QualityShouldBePlusOne()
        {
            var items = new List <Item>()
            {
                new Item()
                {
                    Name    = "Aged Brie",
                    Quality = 20,
                    SellIn  = 10
                }
            };

            _gildedRose.UpdateQuality(items);

            items[0].Quality.Should().Be(21);
        }
Beispiel #4
0
        public void UpdateQuality_GivenConjuredItem_QualityShouldBeMinusTwo()
        {
            var items = new List <Item>()
            {
                new Item()
                {
                    Name    = "Conjured Mana Cake",
                    Quality = 20,
                    SellIn  = 10
                }
            };

            _gildedRose.UpdateQuality(items);

            items[0].Quality.Should().Be(18);
        }
Beispiel #5
0
        static void Main(string[] args)
        {
            var store = new GildedRoseStore();

            while (true)
            {
                DisplayStoreContent(store);
                var readLine = Console.ReadLine();

                if (readLine != null && (readLine.Contains('q') || readLine.Contains('Q')))
                {
                    Console.WriteLine("Thank you for your visit, goodbye.");
                    return;
                }
                else
                {
                    Console.WriteLine();
                    Console.WriteLine("A day has passed, the inventory has changed.");
                    store.UpdateQuality();
                }
            }
        }
        public void UpdateQuality_GivenBackStagePassWithHighSellIn_QualityShouldBePlusOne()
        {
            var items = new List <Item>()
            {
                new Item()
                {
                    Name    = "Backstage passes to a TAFKAL80ETC concert",
                    Quality = 20,
                    SellIn  = 30
                }
            };

            _gildedRose.UpdateQuality(items);

            items[0].Quality.Should().Be(21);
        }
Beispiel #7
0
        public void UpdateQuality_GivenNormalItem_QualityShouldBeMinusOne()
        {
            var items = new List <Item>()
            {
                new Item()
                {
                    Name    = "Normal",
                    Quality = 20,
                    SellIn  = 10
                }
            };

            _gildedRose.UpdateQuality(items);

            items[0].Quality.Should().Be(19);
        }