Beispiel #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();
            }
        }
Beispiel #2
0
        public void Sulfuras_are_a_legendary_rose_and_never_has_to_be_sold_or_decrease_their_quality()
        {
            var          rose  = new Sulfuras(0, 40);
            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("Sulfuras, Hand of Ragnaros", 0, 40);

            Assert.True(roseAfterFiveDays.Equals(rose));
        }
Beispiel #3
0
        private int NewQuality(Item item)
        {
            if (item.Name == "Sulfuras, Hand of Ragnaros")
            {
                return(item.Quality);
            }

            if (item.Name == "Aged Brie")
            {
                var brie = new Brie();
                return(brie.NewQuality(item));
            }

            if (item.Name == "Sulfuras")
            {
                var sulfuras = new Sulfuras();
                return(sulfuras.NewQuality(item));
            }

            if (item.Name == "Backstage passes to a TAFKAL80ETC concert")
            {
                var backstagePass = new BackstagePass();
                return(backstagePass.NewQuality(item));
            }

            if (item.Name.IndexOf("Conjured") == 0)
            {
                var conjured = new Conjured();
                return(conjured.NewQuality(item));
            }

            // other regular items
            var regular = new Regular();

            return(regular.NewQuality(item));
        }