コード例 #1
0
        public void qualityShouldIncreaseBackstagePasses()
        {
            IList <Item> Items = new List <Item> {
                new Item {
                    Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 20, Quality = 5
                },
                new Item {
                    Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 10, Quality = 5
                },
                new Item {
                    Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 5, Quality = 5
                },
                new Item {
                    Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 0, Quality = 5
                }
            };
            GildedRose app = new GildedRose(Items);

            app.UpdateItems();

            Assert.Equal(19, Items[0].SellIn);
            Assert.Equal(6, Items[0].Quality);
            Assert.Equal(7, Items[1].Quality);
            Assert.Equal(8, Items[2].Quality);
            Assert.Equal(0, Items[3].Quality);
        }
コード例 #2
0
        public void shouldNotDecreaseSulfuras()
        {
            IList <Item> Items = new List <Item> {
                new Item {
                    Name = "Sulfuras, Hand of Ragnaros", SellIn = 2, Quality = 10
                }
            };
            GildedRose app = new GildedRose(Items);

            app.UpdateItems();

            Assert.Equal(2, Items[0].SellIn);
            Assert.Equal(10, Items[0].Quality);
        }
コード例 #3
0
        public void shouldDecreaseSellInAndQuality()
        {
            IList <Item> Items = new List <Item> {
                new Item {
                    Name = "foo", SellIn = 2, Quality = 2
                }
            };
            GildedRose app = new GildedRose(Items);

            app.UpdateItems();

            Assert.Equal(1, Items[0].SellIn);
            Assert.Equal(1, Items[0].Quality);
        }
コード例 #4
0
        public void qualityShouldNotBeOver50()
        {
            IList <Item> Items = new List <Item> {
                new Item {
                    Name = "Aged Brie", SellIn = 2, Quality = 50
                }
            };
            GildedRose app = new GildedRose(Items);

            app.UpdateItems();

            Assert.Equal(1, Items[0].SellIn);
            Assert.Equal(50, Items[0].Quality);
        }
コード例 #5
0
        public void qualityShouldIncreaseAgedBrie()
        {
            IList <Item> Items = new List <Item> {
                new Item {
                    Name = "Aged Brie", SellIn = 2, Quality = 5
                }
            };
            GildedRose app = new GildedRose(Items);

            app.UpdateItems();

            Assert.Equal(1, Items[0].SellIn);
            Assert.Equal(6, Items[0].Quality);
        }
コード例 #6
0
        public void qualityShouldNotBeNegative()
        {
            IList <Item> Items = new List <Item> {
                new Item {
                    Name = "foo", SellIn = 2, Quality = 0
                }
            };
            GildedRose app = new GildedRose(Items);

            app.UpdateItems();

            Assert.Equal(1, Items[0].SellIn);
            Assert.Equal(0, Items[0].Quality);
        }
コード例 #7
0
        public void expiredItemsShouldDecreaseFaster()
        {
            IList <Item> Items = new List <Item> {
                new Item {
                    Name = "foo", SellIn = -1, Quality = 4
                }
            };
            GildedRose app = new GildedRose(Items);

            app.UpdateItems();

            Assert.Equal(-2, Items[0].SellIn);
            Assert.Equal(2, Items[0].Quality);
        }
コード例 #8
0
        public void shouldDecreaseTwiceConjuredItems()
        {
            IList <Item> Items = new List <Item> {
                new Item {
                    Name = "Conjured Mana Cake", SellIn = 2, Quality = 10
                },
                new Item {
                    Name = "Conjured Mana Cake", SellIn = -2, Quality = 10
                }
            };
            GildedRose app = new GildedRose(Items);

            app.UpdateItems();

            Assert.Equal(1, Items[0].SellIn);
            Assert.Equal(8, Items[0].Quality);
            Assert.Equal(6, Items[1].Quality);
        }
コード例 #9
0
ファイル: Program.cs プロジェクト: seppedk/GildedRoseKata
        public static void Main(string[] args)
        {
            Console.WriteLine("OMGHAI!");

            var items = GenerateItems();

            var app = new GildedRose(items);

            for (var i = 0; i < 31; i++)
            {
                Console.WriteLine("-------- day " + i + " --------");
                Console.WriteLine("name, sellIn, quality");
                for (var j = 0; j < items.Count; j++)
                {
                    System.Console.WriteLine(items[j].Name + ", " + items[j].SellIn + ", " + items[j].Quality);
                }
                Console.WriteLine("");
                app.UpdateItems();
            }
        }