Esempio n. 1
0
        public static void Main(string[] args)
        {
            Console.Write("OMGHAI!\n");

            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
                },
                new Item {
                    Name = "Conjured Mana Cake", SellIn = 3, Quality = 6
                }
            };

            var app = new GildedRose(Items);


            for (var i = 0; i < 31; i++)
            {
                Console.Write("-------- day " + i + " --------\n");
                Console.Write("name, sellIn, quality\n");
                foreach (var item in app.Items)
                {
                    System.Console.Write(item + "\n");
                }
                Console.Write("\n");
                app.UpdateStock();
            }

            Console.ReadLine();
        }
Esempio n. 2
0
        public void QualityOf_AgedBrie_IncreasesBy2_WhileSellInIsNonpositive()
        {
            IList <Item> Items = new List <Item> {
                new Item {
                    Name = "Aged Brie", SellIn = 0, Quality = 10
                }
            };
            GildedRose app = new GildedRose(Items);

            for (var daysPassed = 1; daysPassed <= 3; daysPassed++)
            {
                app.UpdateStock();
                Assert.AreEqual(10 + 2 * daysPassed, Items[0].Quality);
            }
        }
Esempio n. 3
0
        public void QualityOf_ConjuredItems_DecreasesBy4_WhileSellInIsNonPositive()
        {
            IList <Item> Items = new List <Item> {
                new Item {
                    Name = "Conjured Mana Cake", SellIn = 0, Quality = 20
                }
            };
            GildedRose app = new GildedRose(Items);

            for (var daysPassed = 1; daysPassed <= 3; daysPassed++)
            {
                app.UpdateStock();
                Assert.AreEqual(20 - 4 * daysPassed, Items[0].Quality);
            }
        }
Esempio n. 4
0
        public void QualityOf_NormalItems_DecreasesBy2_WhileSellInIsNonPositive()
        {
            IList <Item> Items = new List <Item> {
                new Item {
                    Name = "Test Vest", SellIn = 0, Quality = 10
                }
            };
            GildedRose app = new GildedRose(Items);

            for (var daysPassed = 1; daysPassed <= 3; daysPassed++)
            {
                app.UpdateStock();
                Assert.AreEqual(10 - 2 * daysPassed, Items[0].Quality);
            }
        }
Esempio n. 5
0
        public void QualityOf_BackstagePasses_IncreasesBy3_WhileSellInLessOrEqual5()
        {
            IList <Item> Items = new List <Item> {
                new Item {
                    Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 5, Quality = 3
                }
            };
            GildedRose app = new GildedRose(Items);

            for (var daysPassed = 1; daysPassed <= 3; daysPassed++)
            {
                app.UpdateStock();
                Assert.AreEqual(3 + 3 * daysPassed, Items[0].Quality);
            }
        }
Esempio n. 6
0
        public void SellInOf_NonLegendaryItems_DecreasesBy1(string name)
        {
            IList <Item> Items = new List <Item>
            {
                new Item {
                    Name = name, SellIn = 3, Quality = 3
                },
            };
            GildedRose app = new GildedRose(Items);

            for (var daysPassed = 1; daysPassed <= 5; daysPassed++)
            {
                app.UpdateStock();
                Assert.AreEqual(3 - daysPassed, Items[0].SellIn);
            }
        }
Esempio n. 7
0
        public void QualityOf_NormalItems_DoesntGoNegative()
        {
            IList <Item> Items = new List <Item> {
                new Item {
                    Name = "Test Vest", SellIn = 2, Quality = 1
                }
            };
            GildedRose app = new GildedRose(Items);


            for (var daysPassed = 1; daysPassed <= 3; daysPassed++)
            {
                app.UpdateStock();
                Assert.AreEqual(0, Items[0].Quality);
            }
        }
Esempio n. 8
0
        public void QualityOf_BackstagePasses_ZerosAfterSellDate()
        {
            IList <Item> Items = new List <Item>
            {
                new Item {
                    Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 0, Quality = 15
                },
            };
            GildedRose app = new GildedRose(Items);


            for (var daysPassed = 1; daysPassed <= 3; daysPassed++)
            {
                app.UpdateStock();
                Assert.AreEqual(0, Items[0].Quality);
            }
        }
Esempio n. 9
0
        public static void Main(string[] args)
        {
            var app = new GildedRose();

            for (var i = 0; i < 31; i++)
            {
                Console.WriteLine("-------- day " + i + " --------");
                Console.WriteLine("name, sellIn, quality");
                var gildedRoseItems = app.Items;
                foreach (var item in gildedRoseItems)
                {
                    System.Console.WriteLine(item);
                }
                Console.WriteLine("");
                app.UpdateStock();
            }
        }
Esempio n. 10
0
        public void QualityOf_Sulfuras_NeverDecreases()
        {
            IList <Item> Items = new List <Item>
            {
                new Item {
                    Name = "Sulfuras, Hand of Ragnaros", SellIn = 0, Quality = 80
                }
            };
            GildedRose app = new GildedRose(Items);

            for (var daysPassed = 1; daysPassed <= 3; daysPassed++)
            {
                app.UpdateStock();
                Assert.AreEqual(80, Items[0].Quality);
                Assert.AreEqual(80, Items[0].Quality);
                Assert.AreEqual(80, Items[0].Quality);
            }
        }
Esempio n. 11
0
        public void QualityOf_AgedBrie_DoesntGoAbove50()
        {
            IList <Item> Items = new List <Item>
            {
                new Item {
                    Name = "Aged Brie", SellIn = 3, Quality = 49
                },
                new Item {
                    Name = "Aged Brie", SellIn = 0, Quality = 49
                }
            };
            GildedRose app = new GildedRose(Items);


            for (var daysPassed = 1; daysPassed <= 3; daysPassed++)
            {
                app.UpdateStock();
                Assert.AreEqual(50, Items[0].Quality);
                Assert.AreEqual(50, Items[1].Quality);
            }
        }
Esempio n. 12
0
        public void QualityOf_BackstagePasses_DoesntGoAbove50()
        {
            IList <Item> Items = new List <Item>
            {
                new Item {
                    Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 15, Quality = 49
                },
                new Item {
                    Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 9, Quality = 49
                },
                new Item {
                    Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 4, Quality = 49
                }
            };
            GildedRose app = new GildedRose(Items);


            for (var daysPassed = 1; daysPassed <= 3; daysPassed++)
            {
                app.UpdateStock();
                Assert.AreEqual(50, Items[0].Quality);
                Assert.AreEqual(50, Items[1].Quality);
            }
        }