Ejemplo n.º 1
0
 public void UpdateQuality()
 {
     foreach (var item in Items)
     {
         InventoryUpdater.Update(item);
     }
 }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            Console.WriteLine("OMGHAI!");

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

            var updater = new InventoryUpdater(Items);

            updater.Update();

            Console.ReadKey();
        }
Ejemplo n.º 3
0
        // public static IList<Item> Items { get; private set; }
        public static void Main(string[] args)
        {
            Console.WriteLine("OMGHAI!");

            var inventory        = new Inventory();
            var inventoryUpdater = new InventoryUpdater();

            var itemList = inventory.ItemList;

            inventoryUpdater.UpdateInventoryPeriodically(31, itemList);



            #region Legacy
            //        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}
            //        };

            // var app = new GildedRose(itemList);

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

            #endregion
        }
Ejemplo n.º 4
0
        public void AgedBrieIncreaseInQualityBy2AfterSellDate()
        {
            var item = CreateAgedBrie(sellIn: 0, quality: 0);

            InventoryUpdater.Update(item);

            Assert.Equal(2, item.Quality);
            Assert.Equal(-1, item.SellIn);
        }
Ejemplo n.º 5
0
        public void BackstagePassesQualityIncreaseTest(int sellIn, int quality, int expectedSellIn, int expectedQuality)
        {
            var item = CreateBackstagePass(sellIn: sellIn, quality: quality);

            InventoryUpdater.Update(item);

            Assert.Equal(expectedQuality, item.Quality);
            Assert.Equal(expectedSellIn, item.SellIn);
        }
Ejemplo n.º 6
0
        public void SulFurasNeverDecreasesInQuality()
        {
            var item = CreateSulfurasItem();

            InventoryUpdater.Update(item);

            Assert.Equal(80, item.Quality);
            Assert.Equal(0, item.SellIn);
        }
Ejemplo n.º 7
0
        public void QualityOfItemNeverRaisedAbove50()
        {
            var item = CreateAgedBrie(quality: 50, sellIn: 2);

            InventoryUpdater.Update(item);

            Assert.Equal(50, item.Quality);
            Assert.Equal(1, item.SellIn);
        }
Ejemplo n.º 8
0
        public void AgedBrieIncreaseInQualityWhenOlder()
        {
            var item = CreateAgedBrie(sellIn: 1, quality: 0);

            InventoryUpdater.Update(item);

            Assert.Equal(1, item.Quality);
            Assert.Equal(0, item.SellIn);
        }
        public void QualityIncreasesForAgedBrie()
        {
            var brie = new AgedBrie {
                Name = "Aged Brie", SellIn = 5, Quality = 10
            };

            updater = new InventoryUpdater(new[] { brie });
            ProcessMany(10);

            Assert.AreEqual(20, brie.Quality);
        }
        public void BackstagePassQualityIncreasesByTwoWhenSellInReachesBetweenSixAndTenDays()
        {
            var backstagePass = new BackstagePass {
                Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 11, Quality = 10
            };

            updater = new InventoryUpdater(new[] { backstagePass });
            ProcessMany(5);

            Assert.AreEqual(20, backstagePass.Quality);
        }
Ejemplo n.º 11
0
        public void QuantityNeverNegative()
        {
            var item = new Item {
                SellIn = 0, Quality = 0
            };

            InventoryUpdater.Update(item);

            Assert.Equal(-1, item.SellIn);
            Assert.Equal(0, item.Quality);
        }
        public void SellInForBackstagePassDecreasesByOne()
        {
            var backstagePass = new BackstagePass {
                Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 3, Quality = 0
            };

            updater = new InventoryUpdater(new[] { backstagePass });
            ProcessMany(10);

            Assert.AreEqual(-7, backstagePass.SellIn);
        }
        public void SellInForConjuredDecreasesByOne()
        {
            var conjured = new ConjuredItem {
                Name = "Conjured Mana Cake", SellIn = 0, Quality = 0
            };

            updater = new InventoryUpdater(new[] { conjured });
            ProcessMany(10);

            Assert.AreEqual(-10, conjured.SellIn);
        }
        public void ConjuredItemsDegradeInQualityTwiceAsFastAsNormalItems()
        {
            var conjuredItem = new ConjuredItem {
                Name = "Conjured Mana Cake", SellIn = 3, Quality = 6
            };

            updater = new InventoryUpdater(new[] { conjuredItem });
            ProcessMany(3);

            Assert.AreEqual(0, conjuredItem.Quality);
        }
        public void SellInForAgedBrieDecreasesByOne()
        {
            var brie = new AgedBrie {
                Name = "Aged Brie", SellIn = 5, Quality = 0
            };

            updater = new InventoryUpdater(new[] { brie });
            ProcessMany(10);

            Assert.AreEqual(-5, brie.SellIn);
        }
        public void BackstagePassQualityIncreasesByOneTenDays()
        {
            var backstagePass = new BackstagePass {
                Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 20, Quality = 10
            };

            updater = new InventoryUpdater(new[] { backstagePass });
            ProcessMany(9);

            Assert.AreEqual(19, backstagePass.Quality);
        }
        public void BackstagePassQualityDropsToZeroAfterTheConcert()
        {
            var backstagePass = new BackstagePass {
                Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 5, Quality = 10
            };

            updater = new InventoryUpdater(new[] { backstagePass });
            ProcessMany(5);

            Assert.AreEqual(0, backstagePass.Quality);
        }
        public void BackstagePassQualityIncreasesByThreeWhenSellInReachesBetweenFiveAndZeroDays()
        {
            var backstagePass = new BackstagePass {
                Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 6, Quality = 10
            };

            updater = new InventoryUpdater(new[] { backstagePass });
            ProcessMany(4);

            Assert.AreEqual(22, backstagePass.Quality);
        }
Ejemplo n.º 19
0
        public void ConjuredItemsDegradeTwiceAsFastAsNormalItems()
        {
            var item = new Item {
                Name = "Conjured", SellIn = 1, Quality = 2
            };

            InventoryUpdater.Update(item);

            Assert.Equal(0, item.Quality);
            Assert.Equal(0, item.SellIn);
        }
        public void SellInForNormalItemDecreasesByOne()
        {
            var cake = new Item {
                Name = "Conjured Mana Cake", SellIn = 0, Quality = 0
            };

            updater = new InventoryUpdater(new[] { cake });
            updater.Update();

            Assert.AreEqual(-1, cake.SellIn);
        }
Ejemplo n.º 21
0
        public void SellInAndQualityIsLoweredEachDay()
        {
            var item = new Item {
                Quality = 1, SellIn = 1
            };

            InventoryUpdater.Update(item);

            Assert.Equal(0, item.SellIn);
            Assert.Equal(0, item.Quality);
        }
        public void QualityDegradesTwiceAsFastForNormalItem()
        {
            var cake = new Item {
                Name = "Conjured Mana Cake", SellIn = -1, Quality = 2
            };

            updater = new InventoryUpdater(new[] { cake });
            updater.Update();

            Assert.AreEqual(0, cake.Quality);
        }
Ejemplo n.º 23
0
        public void QualityDegradsTwiceAsFastOnceSellByHasPassed()
        {
            var item = new Item {
                SellIn = 0, Quality = 4
            };

            InventoryUpdater.Update(item);

            Assert.Equal(-1, item.SellIn);
            Assert.Equal(2, item.Quality);
        }
        public void QualityOfAnItemIsNeverGreaterThanFifty()
        {
            var brie = new AgedBrie {
                Name = "Aged Brie", SellIn = 0, Quality = 50
            };

            updater = new InventoryUpdater(new[] { brie });
            updater.Update();

            Assert.AreEqual(50, brie.Quality);
        }
        public void QualityOfAConjuredItemIsNeverNegative()
        {
            var cake = new ConjuredItem {
                Name = "Conjured Mana Cake", SellIn = -1, Quality = 0
            };

            updater = new InventoryUpdater(new[] { cake });
            updater.Update();

            Assert.AreEqual(0, cake.Quality);
        }
        public void SulfurasNeverDegrades()
        {
            var sulfuras = new LegendaryItem {
                Name = "Sulfuras, Hand of Ragnaros", SellIn = 5, Quality = 10
            };

            updater = new InventoryUpdater(new[] { sulfuras });
            ProcessMany(10);

            Assert.AreEqual(10, sulfuras.Quality);
        }
Ejemplo n.º 27
0
        public void InventoryUpdaterUpdatesAllInventoryItemSellIn(int frequency, int brieSellIn, int conjuredSellIn, int legendarySellIn, int standardSellIn)
        {
            var inventory        = new Inventory();
            var itemList         = inventory.ItemList;
            var inventoryUpdater = new InventoryUpdater();

            inventoryUpdater.UpdateInventoryPeriodically(frequency, itemList);

            Assert.Equal(brieSellIn, itemList[1].SellIn);
            Assert.Equal(conjuredSellIn, itemList[8].SellIn);
            Assert.Equal(legendarySellIn, itemList[3].SellIn);
            Assert.Equal(standardSellIn, itemList[0].SellIn);
        }
Ejemplo n.º 28
0
        public void InventoryUpdaterUpdatesAllInventoryItemQualityAfterSpecifiedIterations(int frequency, int brieQuality, int conjuredQuality, int legendaryQuality, int standardQuality)
        {
            var inventory        = new Inventory();
            var itemList         = inventory.ItemList;
            var inventoryUpdater = new InventoryUpdater();

            inventoryUpdater.UpdateInventoryPeriodically(frequency, itemList);

            Assert.Equal(brieQuality, itemList[1].Quality);
            Assert.Equal(conjuredQuality, itemList[8].Quality);
            Assert.Equal(legendaryQuality, itemList[3].Quality);
            Assert.Equal(standardQuality, itemList[0].Quality);
        }
Ejemplo n.º 29
0
    private IEnumerator MineNode()
    {
        LocalStats.ores[oreIndex]++;
        UIAlert.text = "";
        bc.enabled   = false;
        for (int i = 0; i < 3; i++)
        {
            transform.GetChild(i).GetComponent <MeshRenderer>().material = depleted;
        }
        mineSound.Play();
        InventoryUpdater.updateInventoryText();
        yield return(new WaitForSeconds(respawnTime));

        bc.enabled = true;
        for (int i = 0; i < 3; i++)
        {
            transform.GetChild(i).GetComponent <MeshRenderer>().material = full;
        }
    }
Ejemplo n.º 30
0
        static void Main(string[] args)
        {
            Console.WriteLine("OMGHAI!");

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

            var updater = new InventoryUpdater(Items);
            updater.Update();

            Console.ReadKey();
        }