public void TestAgedBrie()
        {
            var app = new Program();
            var agedBrie = new Item {Name = "Aged Brie", SellIn = 2, Quality = 0};
            var expectedQuality = 1;

            app.AddItems(agedBrie);
            app.UpdateQuality();

            Assert.True(agedBrie.Quality == expectedQuality,
                "Test #1 - Aged Brie quality is not as expected. Expected = " + expectedQuality
                + ". Actual quality = " + agedBrie.Quality);

            // Go past the expiry date and check quality again
            for (var i = 0; i < 3; i++)
            {
                app.UpdateQuality();
            }

            expectedQuality = 6;

            Assert.True(agedBrie.Quality == expectedQuality,
                "Test #2 - Aged Brie quality is not as expected. Expected = " + expectedQuality
                + ". Actual quality = " + agedBrie.Quality);
        }
Example #2
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("OMGHAI!");

            var app = new Program()
            {
                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 = "Backstage passes to a TAFKAL80ETC concert", SellIn = 15, Quality = 20
                    },
                    new Item {
                        Name = "Conjured Mana Cake", SellIn = 3, Quality = 6
                    }
                }
            };

            app.UpdateQuality();

            System.Console.ReadKey();
        }
 public void Given_brie_When_processed_the_amount_should_reduce_by_one()
 {
     Program sut = new Program { Items = new List<Item> { new Item { Name = "Aged Brie", SellIn = 0, Quality = 50 } } };
     sut.UpdateQuality();
     sut.Items[0].Name.ShouldBe("Aged Brie");
     sut.Items[0].Quality.ShouldBe(50);
 }
Example #4
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("OMGHAI!");

            var app = new Program()
                          {
                              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 = "  ",
                                                      SellIn = 15,
                                                      Quality = 20
                                                  },
                                              new Item {Name = "Conjured Mana Cake", SellIn = 3, Quality = 6}
                                          }
                          };

            app.UpdateQuality();

            System.Console.ReadKey();
        }
Example #5
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("OMGHAI!");

            var app = new Program()
            {
                Items = new List <Item>
                {
                    new Item {
                        Name = DexterityVest, SellIn = 10, Quality = 20
                    },
                    new Item {
                        Name = AgedBrie, SellIn = 2, Quality = 0
                    },
                    new Item {
                        Name = ElixirOfTheMongoose, SellIn = 5, Quality = 7
                    },
                    new Item {
                        Name = SulfurasHandOfRagnaros, SellIn = 0, Quality = 80
                    },
                    new Item {
                        Name = BackstagePassesToATafkal80etcConcert, SellIn = 15, Quality = 20
                    },
                    new Item {
                        Name = ConjuredManaCake, SellIn = 3, Quality = 6
                    }
                }
            };

            app.UpdateQuality();

            System.Console.ReadKey();
        }
Example #6
0
        private static void Main(string[] args)
        {
            System.Console.WriteLine("OMGHAI!");

            var app = new Program
                {
                    Items = new List<Item>
                        {
                            new RegularItem {Name = "+5 Dexterity Vest", SellIn = 10, Quality = 20},
                            new AgedBrieItem {Name = "Aged Brie", SellIn = 2, Quality = 0},
                            new RegularItem {Name = "Elixir of the Mongoose", SellIn = 5, Quality = 7},
                            new SulfurasItem {Name = "Sulfuras, Hand of Ragnaros", SellIn = 0, Quality = 80},
                            new BackstagePassItem
                                {
                                    Name = "Backstage passes to a TAFKAL80ETC concert",
                                    SellIn = 15,
                                    Quality = 20
                                },
                            new ConjuredItem {Name = "Conjured Mana Cake", SellIn = 3, Quality = 6}
                        }
                };

            app.UpdateQuality();

            System.Console.ReadKey();
        }
Example #7
0
        public static void Main(string[] args)
        {
            System.Console.WriteLine("OMGHAI!");
            var app = new Program()
            {
                Items = new List <Item>
                {
                    new Item {
                        Name = "+5 Dexterity Vest", SellIn = 10, Quality = 20
                    },
                    new Item {
                        Name = AgedBried, SellIn = 2, Quality = 0
                    },
                    new Item {
                        Name = "Elixir of the Mongoose", SellIn = 5, Quality = 7
                    },
                    new Item {
                        Name = Sulfuras, SellIn = 0, Quality = 80
                    },
                    new Item
                    {
                        Name    = BackstagePass,
                        SellIn  = 15,
                        Quality = 20
                    },
                    new Item {
                        Name = "Conjured Mana Cake", SellIn = 3, Quality = 6
                    }
                }
            };

            app.UpdateQuality();

            System.Console.ReadKey();
        }
Example #8
0
        public static Item UpdateQuality(this Item item)
        {
            var program = new Program {Items = new List<Item> {item}};
            program.UpdateQuality();

            return item;
        }
        public void TestBackstagePass()
        {
            var app = new Program();
            var ticket = new Item
                {
                    Name = "Backstage passes to a TAFKAL80ETC concert",
                    SellIn = 15,
                    Quality = 0
                };
            // Ticket value at day 0
            // (1 * 5) + (2 * 5) + (3 * 5)
            var finalTicketQuality = 30;
            var ticketSellIn = ticket.SellIn;

            app.AddItems(ticket);
            // Update the ticket quality until SellIn = 0
            for (var i = 0; i < ticketSellIn; i++)
            {
                app.UpdateQuality();
            }

            Assert.True(ticket.Quality == finalTicketQuality,
                "Final backstage pass tickets do not match. Actual final quality = " + ticket.Quality);

            // Go past expiry date
            app.UpdateQuality();

            Assert.True(ticket.Quality == 0, "Backstage pass quality is not 0. Actual quality = " + ticket.Quality);
        }
 public void Given_a_vest_When_processed_the_amount_should_reduce_by_one()
 {
     Program sut = new Program { Items = new List<Item> { new Item { Name = "+5 Dexterity Vest", SellIn = 10, Quality = 20 } } };
     sut.UpdateQuality();
     sut.Items[0].Name.ShouldBe("+5 Dexterity Vest");
     sut.Items[0].SellIn.ShouldBe(9);
     sut.Items[0].Quality.ShouldBe(19);
 }
 public void Given_backstage_passes_When_processed_the_amount_should_reduce_by_one()
 {
     Program sut = new Program { Items = new List<Item> { new Item { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 15, Quality = 20 } } };
     sut.UpdateQuality();
     sut.Items[0].Name.ShouldBe("Backstage passes to a TAFKAL80ETC concert");
     sut.Items[0].SellIn.ShouldBe(14);
     sut.Items[0].Quality.ShouldBe(21);
 }
Example #12
0
        public void AgedQulityTest()
        {
            Program app = new Program();

            app.Items = new List<Item> { new Item { Name = "Aged Brie", SellIn = 0, Quality = 0 } };
            app.UpdateQuality();
            Assert.Equal(2, app.Items[0].Quality);
        }
 public void Given_mana_cake_When_processed_the_amount_should_reduce_by_one()
 {
     Program sut = new Program { Items = new List<Item> { new Item { Name = "Conjured Mana Cake", SellIn = 3, Quality = 6 } } };
     sut.UpdateQuality();
     sut.Items[0].Name.ShouldBe("Conjured Mana Cake");
     sut.Items[0].SellIn.ShouldBe(2);
     sut.Items[0].Quality.ShouldBe(5);
 }
 public void Given_mongoose_elixir_When_processed_the_amount_should_reduce_by_one()
 {
     Program sut = new Program { Items = new List<Item> { new Item { Name = "Elixir of the Mongoose", SellIn = 5, Quality = 7 } } };
     sut.UpdateQuality();
     sut.Items[0].Name.ShouldBe("Elixir of the Mongoose");
     sut.Items[0].SellIn.ShouldBe(4);
     sut.Items[0].Quality.ShouldBe(6);
 }
 public void Given_ragnoros_hand_When_processed_the_amount_should_reduce_by_one()
 {
     Program sut = new Program { Items = new List<Item> { new Item { Name = "Sulfuras, Hand of Ragnaros", SellIn = 0, Quality = 50 } } };
     sut.UpdateQuality();
     sut.Items[0].Name.ShouldBe("Sulfuras, Hand of Ragnaros");
     sut.Items[0].SellIn.ShouldBe(0);
     sut.Items[0].Quality.ShouldBe(50);
 }
Example #16
0
 public void Given_mongoose_elixir_When_sell_in_date_is_0_should_reduce_by_on()
 {
     Program sut = new Program { Items = new List<Item> { new Item { Name = "Elixir of the Mongoose", SellIn = -1, Quality = 7 } } };
     sut.UpdateQuality();
     sut.Items[0].Name.ShouldBe("Elixir of the Mongoose");
     sut.Items[0].SellIn.ShouldBe(-2);
     sut.Items[0].Quality.ShouldBe(5);
 }
Example #17
0
 public void Given_backstage_passes_When_processed_after_sell_in_date_the_quality_should_be_zero()
 {
     Program sut = new Program { Items = new List<Item> { new Item { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = -1, Quality = 20 } } };
     sut.UpdateQuality();
     sut.Items[0].Name.ShouldBe("Backstage passes to a TAFKAL80ETC concert");
     sut.Items[0].SellIn.ShouldBe(-2);
     sut.Items[0].Quality.ShouldBe(0);
 }
Example #18
0
        public void ConjuredQulityDecreaseTest()
        {
            Program app = new Program();

            app.Items = new List<Item> { new Item { Name = "Conjured Mana Cake", SellIn = 3, Quality = 6 } };
            app.UpdateQuality();
            Assert.Equal(4, app.Items[0].Quality);
            Assert.Equal(2, app.Items[0].SellIn);
        }
Example #19
0
        public void AgingMaxQulityTest()
        {
            Program app = new Program();

            app.Items = new List<Item> { new Item { Name = "Aged Brie", SellIn = 1, Quality = 50 } };
            app.UpdateQuality();
            Assert.Equal(50, app.Items[0].Quality);
            Assert.Equal(0, app.Items[0].SellIn);
        }
Example #20
0
        public void ConjuredExpiredQulityZeroTest()
        {
            Program app = new Program();

            app.Items = new List<Item> { new Item { Name = "Conjured Mana Cake", SellIn = 0, Quality = 0 } };
            app.UpdateQuality();
            Assert.Equal(0, app.Items[0].Quality);
            Assert.Equal(-1, app.Items[0].SellIn);
        }
        private void ItemShouldDecreaseOneQuality(int quality, int sellIn)
        {
            var app = new GildedRose.Console.Program();
            app.Items = new List<Item> { new Item { Name = ItemToTest, SellIn = sellIn, Quality = quality } };

            app.UpdateQuality();
            var resultSellInValue = app.Items.First().Quality;

            Assert.AreEqual(resultSellInValue, quality - 1);
        }
        public virtual void GivenZeroQuality_WithTwentySellIn_ThenItemQualityShouldNeverBeLessThanZero()
        {
            var app = new GildedRose.Console.Program();
            app.Items = new List<Item> { new Item { Name = ItemToTest, SellIn = 20, Quality = 0 } };

            app.UpdateQuality();
            var resultQuality = app.Items.First().Quality;

            Assert.GreaterOrEqual(resultQuality, 0);
        }
        public virtual void GivenFiftyQuality_WithTwentySellIn_ThenItemQualityShouldBeLessThanFiftyOne()
        {
            var app = new GildedRose.Console.Program();
            app.Items = new List<Item> { new Item { Name = ItemToTest, SellIn = 20, Quality = 50 } };

            app.UpdateQuality();
            var resultQuality = app.Items.First().Quality;

            Assert.Less(resultQuality, 51);
        }
        private void BackStagePassShouldIncreaseTwoQuality(int quality, int sellIn)
        {
            var app = new GildedRose.Console.Program();
            app.Items = new List<Item> { new Item { Name = ItemToTest, SellIn = sellIn, Quality = quality } };

            app.UpdateQuality();
            var resultQuality = app.Items.First().Quality;

            Assert.AreEqual(resultQuality, quality + 2);
        }
        private void SulfurasShouldNeverDecreaseInQuality(int quality, int sellIn)
        {
            var app = new GildedRose.Console.Program();
            app.Items = new List<Item> { new Item { Name = ItemToTest, SellIn = sellIn, Quality = quality } };

            app.UpdateQuality();
            var resultQuality = app.Items.First().Quality;

            Assert.AreEqual(resultQuality, quality);
        }
Example #26
0
        public void QuailityOfAnItemIsNeverNegative()
        {
            var item = new Item { Name = "+5 Dexterity Vest", Quality = 0, SellIn = 0 };
            var subject = new Program
            {
                Items = new List<Item> { item }
            };

            subject.UpdateQuality();
            Assert.That(item.Quality, Is.EqualTo(0));
        }
Example #27
0
        public void QuailityCanNeverBeMoreThanFifty()
        {
            var item = new Item { Name = "Aged Brie", SellIn = 2, Quality = 50 };
            var subject = new Program
            {
                Items = new List<Item> { item }
            };

            subject.UpdateQuality();
            Assert.That(item.Quality, Is.EqualTo(50));
        }
Example #28
0
        public void ConjuredDegradesTwiceAsFast()
        {
            var item = new Item { Name = "Conjured", Quality = 20, SellIn = 10 };
            var subject = new Program
            {
                Items = new List<Item> { item }
            };

            subject.UpdateQuality();
            Assert.That(item.Quality, Is.EqualTo(18));
        }
Example #29
0
        public void QuailityDegradesByTwoWhenPastTheSellinPeriod()
        {
            var item = new Item { Name = "+5 Dexterity Vest", Quality = 20, SellIn = 0 };
            var subject = new Program
            {
                Items = new List<Item> { item }
            };

            subject.UpdateQuality();
            Assert.That(item.Quality, Is.EqualTo(18));
        }
Example #30
0
 protected void UpdateItem(Item item)
 {
     testItem = item;
     Program testApp = new Program()
     {
         Items = new List<Item>
         {
             testItem,
         }
     };
     testApp.UpdateQuality();
 }
Example #31
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("OMGHAI!");

            var app = new Program()
            {
                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    = "Backstage passes to a TAFKAL80ETC concert",
                        SellIn  = 15,
                        Quality = 20
                    },
                    new Item {
                        Name = "Conjured Mana Cake", SellIn = 3, Quality = 6
                    }
                }
            };


            System.Console.WriteLine("Insert a number of days to count:");

            int daysToCount = 0;

            Int32.TryParse(System.Console.ReadLine(), out daysToCount);

            for (int i = 0; i < daysToCount; i++)
            {
                app.items = app.UpdateQuality(app.items);
                app.items = app.UpdateSellInValues(app.items);
            }

            foreach (var item in app.items)
            {
                System.Console.WriteLine(item.Name + " / " + item.Quality + " / " + item.SellIn);
            }

            System.Console.ReadKey();
        }
Example #32
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("OMGHAI!");

            var app = new Program()
            {
                Items = InitializeItems()
            };

            app.UpdateQuality();

            System.Console.ReadKey();
        }
Example #33
0
        public static void Main(string[] args)
        {
            System.Console.WriteLine("OMGHAI!");

            var app = new Program()
                          {
                              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}
                                          }

                          };

            for (var i = 0; i < 31; i++)
            {
                System.Console.WriteLine("-------- day " + i + " --------");
                System.Console.WriteLine("name, sellIn, quality");
                for (var j = 0; j < app.Items.Count; j++)
                {
                    System.Console.WriteLine(app.Items[j].Name + ", " + app.Items[j].SellIn + ", " + app.Items[j].Quality);
                }
                System.Console.WriteLine("");
                app.UpdateQuality();
            }
        }
Example #34
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("OMGHAI!");

            var kernal = new StandardKernel(new DiContainer());

            var mainWorker = new Program(kernal.Get <IItemUpdateContractFactory>())
            {
                Items = GetDefaultData()
            };

            mainWorker.UpdateQuality();

            System.Console.ReadKey();
        }
Example #35
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("OMGHAI!");

            var app = new Program()
            {
                InventoryManager = new HAL9000InventoryManager(),
                SupplyManager    = new SupplyManager()
            };

            app.PurchaseNewSupplies();

            app.UpdateQuality();

            System.Console.ReadKey();
        }
Example #36
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("OMGHAI! \n");

            var app = new Program()
            {
                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    = "Backstage passes to a TAFKAL80ETC concert",
                        SellIn  = 15,
                        Quality = 20
                    },
                    new Item {
                        Name = "Conjured Mana Cake", SellIn = 3, Quality = 6
                    }
                }
            };
            int amountOfDays = 11; // time period

            for (int i = 0; i < amountOfDays; i++)
            {
                app.UpdateQuality();
            }

            System.Console.WriteLine("After " + amountOfDays + " days quality of items is:");
            foreach (Item item in app.Items)
            {
                System.Console.WriteLine(item.Name + ": " + item.Quality);
            }


            System.Console.ReadKey();
        }
Example #37
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("OMGHAI!");

            var app = new Program()
            {
                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    = "Backstage passes to a TAFKAL80ETC concert",
                        SellIn  = 15,
                        Quality = 20
                    },
                    new Item {
                        Name = "Conjured Mana Cake", SellIn = 3, Quality = 6
                    }
                }
            };


            System.Console.WriteLine("Type <enter> to pass to the next day or <esc> to quit:");
            System.Console.WriteLine();

            while (System.Console.ReadKey().Key != ConsoleKey.Escape)
            {
                System.Console.WriteLine("Go to next day...");
                app.UpdateQuality();
            }

            System.Console.WriteLine("Ciao...");
            System.Console.ReadLine();
        }
        public void TestAgedBrieUpperLimit()
        {
            var app = new Program();
            var agedBrie = new Item { Name = "Aged Brie", SellIn = 5, Quality = 49 };
            var expectedQuality = 50;
            var sellIn = agedBrie.SellIn;

            app.AddItems(agedBrie);

            for (var i = 0; i < sellIn; i++)
            {
                app.UpdateQuality();
            }

            Assert.True(agedBrie.Quality == expectedQuality,
                "Aged Brie quality is not as expected. Expected = " + expectedQuality
                + ". Actual quality = " + agedBrie.Quality);
        }
Example #39
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("OMGHAI!");
            var updateAgedBrie       = new UpdateAgedBrie(new IncreaseQuality(), new DecreaseSellIn());
            var updateBackStageItems = new UpdateBackStageItems(new IncreaseQuality(), new DecreaseSellIn());
            var updateOrdinaryItems  = new UpdateOrdinaryItem(new DecreaseQuality(), new DecreaseSellIn());
            var updateConjuredItems  = new UpdateConjuredItems(new DecreaseQuality(), new DecreaseSellIn());

            var updateInventory = new UpdateInventory(updateBackStageItems, updateAgedBrie, updateConjuredItems,
                                                      updateOrdinaryItems);


            var app = new Program(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    = "Backstage passes to a TAFKAL80ETC concert",
                    SellIn  = 15,
                    Quality = 20
                },
                new Item {
                    Name = "Conjured Mana Cake", SellIn = 3, Quality = 6
                }
            }, updateInventory);

            app.UpdateQuality();

            System.Console.ReadKey();
        }
Example #40
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("KEKBUR 50 DKP MINUS!");

            Program app = new Program()
            {
                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 = "Backstage passes to a TAFKAL80ETC concert", SellIn = 15, Quality = 20},
                    new Item {Name = "Conjured Mana Cake", SellIn = 3, Quality = 6}
                }
            };

            app.UpdateQuality();

            System.Console.ReadKey();
        }
Example #41
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("OMGHAI!");

            Program.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    = "Backstage passes to a TAFKAL80ETC concert",
                    SellIn  = 15,
                    Quality = 20
                },
                new Item {
                    Name = "Conjured Mana Cake", SellIn = 3, Quality = 6
                }
            };


            List <Product> products = new List <Product>();

            Program.Items.ToList().ForEach(i => products.Add(Product.ProductFactory(i)));
            Program.UpdateQuality(products);



            System.Console.ReadKey();
        }
Example #42
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("OMGHAI!");

            var app = new Program()
            {
                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
                    }
                }
            };

            app.UpdateQuality();

            System.Console.ReadKey();
        }
Example #43
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("OMGHAI!");

            var app = new Program()
            {
                Items = new List <Item>
                {
                    new NormalItem {
                        Name = ItemNames.DEXTERITY_VEST, SellIn = 10, Quality = 20
                    },
                    // "Aged Brie" actually increases in Quality the older it gets
                    new NormalItem {
                        Name = ItemNames.AGED_BRIE, SellIn = 2, Quality = 0, NormalDecreaseBy = -1, OverdueDecreaseBy = -1
                    },
                    new NormalItem {
                        Name = ItemNames.MONGOOSE_ELIXIR, SellIn = 5, Quality = 7
                    },
                    // "Sulfuras", being a legendary item, never has to be sold or decreases in Quality
                    new NormalItem {
                        Name = ItemNames.SULFURAS, SellIn = 0, Quality = 80, NormalDecreaseBy = 0, OverdueDecreaseBy = 0, MinimumQualityAllowed = 80, MaximumQualityAllowed = 80
                    },
                    new SpecialItem {
                        Name = ItemNames.BACKSTAGE_PASS, SellIn = 15, Quality = 20
                    },
                    // "Conjured" items degrade in Quality twice as fast as normal items
                    new NormalItem {
                        Name = ItemNames.CONJURED, SellIn = 3, Quality = 6, NormalDecreaseBy = 2, OverdueDecreaseBy = 4
                    }
                }
            };

            app.UpdateQuality();

            System.Console.ReadKey();
        }
Example #44
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("OMGHAI!");

            var app = new Program()
            {
                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
                    }
                }
            };

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