Пример #1
0
        public static void Main(string[] args)
        {
            Console.WriteLine("OMGHAI!");

            CompositeItem items = new CompositeItem();

            items.Add(EditableItem.Create(name: "+5 Dexterity Vest", sellIn: 10, quality: 20));
            items.Add(AgedBrie.Create(sellIn: 2, quality: 0));
            items.Add(EditableItem.Create(name: "Elixir of the Mongoose", sellIn: 5, quality: 7));
            items.Add(Sulfuras.Create(sellIn: 0, quality: 80));
            items.Add(Sulfuras.Create(sellIn: -1, quality: 80));
            items.Add(ConcertBackstagePass.Create(concertName: "TAFKAL80ETC", sellIn: 15, quality: 20));
            items.Add(ConcertBackstagePass.Create(concertName: "TAFKAL80ETC", sellIn: 10, quality: 49));
            items.Add(ConcertBackstagePass.Create(concertName: "TAFKAL80ETC", sellIn: 5, quality: 49));
            items.Add(Conjured.Create(name: "Conjured Mana Cake", sellIn: 3, quality: 6));

            GildedRose app = new GildedRose(items);


            for (var i = 0; i < 31; i++)
            {
                Console.WriteLine("-------- day " + i + " --------");
                Console.WriteLine("name, sellIn, quality");

                items.DisplayItems();

                app.UpdateItemsQualityAfterADay();
            }
        }
Пример #2
0
        public void The_quality_of_a_rose_is_never_more_than_50()
        {
            var          rose  = new AgedBrie(0, 50);
            IList <Rose> roses = new List <Rose> {
                rose
            };
            GildedRose gildedRose = new GildedRose(roses);

            for (var i = 0; i < 5; i++)
            {
                gildedRose.UpdateQuality();
            }

            var roseAfterFiveDays = new Rose("Aged Brie", -5, 50);

            Assert.True(roseAfterFiveDays.Equals(rose));
        }
Пример #3
0
            public IGood BuildFor(Item item)
            {
                switch (item.Name)
                {
                case "Backstage passes to a TAFKAL80ETC concert":
                    return(BackstagePass.Build(item.SellIn));

                case "Aged Brie":
                    return(AgedBrie.Build(item.SellIn));

                case "Conjured Mana Cake":
                    return(Conjured.Build(item.SellIn));

                default:
                    return(Generic.Build(item.SellIn));
                }
            }
Пример #4
0
        public void Aged_Brie_rose_actually_increases_in_Quality_the_older_it_gets()
        {
            var          rose  = new AgedBrie(5, 35);
            IList <Rose> roses = new List <Rose> {
                rose
            };
            GildedRose gildedRose = new GildedRose(roses);

            for (var i = 0; i < 5; i++)
            {
                gildedRose.UpdateQuality();
            }

            //It is done so to test equality between child and parent
            var roseAfterFiveDays = new Rose("Aged Brie", 0, 40);

            Assert.True(roseAfterFiveDays.Equals(rose));
        }