public void QualityShouldDecreaseByOneperDay()
        {
            FrozenItem frozenItem = new FrozenItem("", 10, 50);

            frozenItem.DaysPast(2);
            Assert.AreEqual(48, frozenItem.GetQuality());
        }
        public void QualityShouldDecreaseDoubleWhenSellByDatePast(int daysPast, int expectedResult)
        {
            FrozenItem frozenItem = new FrozenItem("", 1, 50);

            frozenItem.DaysPast(daysPast);
            Assert.AreEqual(expectedResult, frozenItem.GetQuality());
        }
        public void QualityShouldBeNotGoBelowMinQuality()
        {
            FrozenItem frozenItem = new FrozenItem("", 5, 5);

            frozenItem.DaysPast(9);
            Assert.AreEqual(0, frozenItem.GetQuality());
        }
        public void TempTest()
        {
            FrozenItem frozenItem = new FrozenItem("", -2, 50);

            frozenItem.DaysPast(5);
            Assert.AreEqual(40, frozenItem.GetQuality());
        }
        public void QualityShouldNotGoBelowZero()
        {
            FrozenItem frozenItem = new FrozenItem("", 10, 5);

            frozenItem.DaysPast(6);
            Assert.AreEqual(0, frozenItem.GetQuality());
        }
        public void QualityShouldBeAtMaxQualityIfResultIsGreaterThanMaxQuality()
        {
            FrozenItem frozenItem = new FrozenItem("", -1, 55);

            frozenItem.DaysPast(1);
            Assert.AreEqual(50, frozenItem.GetQuality());
        }
        public void SellInShouldDecreaseByOneperDay()
        {
            FrozenItem frozenItem = new FrozenItem("", 10, 50);

            frozenItem.DaysPast(2);
            Assert.AreEqual(8, frozenItem.GetSellIn());
        }
        public void TestInputFromTechTest2()
        {
            FrozenItem frozenItem = new FrozenItem("", 2, 2);

            frozenItem.DaysPast(1);
            Assert.AreEqual(1, frozenItem.GetQuality());
            Assert.AreEqual(1, frozenItem.GetSellIn());
        }
        public void TestInputFromTechTest1()
        {
            FrozenItem frozenItem = new FrozenItem("", -1, 55);

            frozenItem.DaysPast(1);
            Assert.AreEqual(50, frozenItem.GetQuality());
            Assert.AreEqual(-2, frozenItem.GetSellIn());
        }
Exemplo n.º 10
0
        public void UpdateQuality_FrozenNotInDate_ReduceBy2()
        {
            Item item = new FrozenItem();

            item.SellIn  = -1;
            item.Quality = 2;
            item.UpdateQuality();
            Assert.AreEqual(0, item.Quality);
        }
Exemplo n.º 11
0
 public ExpireTimer(Mobile m, Mobile from, int maxCount)
     : base(TimeSpan.FromSeconds(1.0), TimeSpan.FromSeconds(1.0))
 {
     m_Mobile          = m;
     m_From            = from;
     m_MaxCount        = maxCount;
     m_Mobile.CantWalk = true;
     m_Item            = new FrozenItem();
     m_Item.MoveToWorld(m_Mobile.Location, m_Mobile.Map);
     Priority = TimerPriority.TwoFiftyMS;
 }
Exemplo n.º 12
0
        public void QualityShouldNeverBeOver50(int quality)
        {
            // Arrange

            InventoryItem systemUnderTest = new FrozenItem(1, quality);

            // Act

            systemUnderTest.MatureOvernight();

            // Assert

            systemUnderTest.Quality.ShouldBe(50);
        }
Exemplo n.º 13
0
        public void SellInShouldNotChangeAtMinValue()
        {
            // Arrange

            InventoryItem systemUnderTest = new FrozenItem(int.MinValue, 1);

            // Act

            systemUnderTest.MatureOvernight();

            // Assert

            systemUnderTest.SellIn.ShouldBe(int.MinValue);
        }
Exemplo n.º 14
0
        public void ShouldDecreaseBothBy1BeforeSellby(int sellIn, int quality)
        {
            // Arrange

            InventoryItem systemUnderTest = new FrozenItem(sellIn, quality);

            // Act

            systemUnderTest.MatureOvernight();

            // Assert

            systemUnderTest.SellIn.ShouldBe(sellIn - 1);
            systemUnderTest.Quality.ShouldBe(quality - 1);
        }
Exemplo n.º 15
0
        public void ShouldDecreaseQualityAtDoubleSpeedAtNegative(int positiveSellIn)
        {
            // Arrange

            InventoryItem systemUnderTestPositive = new FrozenItem(positiveSellIn, 10);
            InventoryItem systemUnderTestNegative = new FrozenItem(-positiveSellIn, 10);

            // Act

            systemUnderTestPositive.MatureOvernight();
            systemUnderTestNegative.MatureOvernight();

            // Assert

            int PositiveDecrease = 10 - systemUnderTestPositive.Quality;
            int NegativeDecrease = 10 - systemUnderTestNegative.Quality;

            NegativeDecrease.ShouldBe(PositiveDecrease * 2);
        }
Exemplo n.º 16
0
        private static List <Item> GetItemsFromFile(string fileName)
        {
            List <Item> items = new List <Item>();

            string[] fileLines = File.ReadAllLines(fileName);
            foreach (string line in fileLines)
            {
                string[] temp     = line.Split(' ');
                string   itemName = "";
                int      sellIn;
                int      quality;

                if (temp.Length > 3)
                {
                    itemName = GetItemName(temp[0], temp[1]);
                    sellIn   = int.Parse(temp[2]);
                    quality  = int.Parse(temp[3]);
                }
                else
                {
                    itemName = GetItemName(temp[0]);
                    sellIn   = int.Parse(temp[1]);
                    quality  = int.Parse(temp[2]);
                }
                switch (itemName)
                {
                case "Fresh Item":
                    Item freshItem = new FreshItem {
                        Name = itemName, SellIn = sellIn, Quality = quality
                    };
                    items.Add(freshItem);
                    break;

                case "Frozen Item":
                    Item frozenItem = new FrozenItem {
                        Name = itemName, SellIn = sellIn, Quality = quality
                    };
                    items.Add(frozenItem);
                    break;

                case "Christmas Crackers":
                    Item christmasCrackers = new ChristmasCrackers {
                        Name = itemName, SellIn = sellIn, Quality = quality
                    };
                    items.Add(christmasCrackers);
                    break;

                case "Soap":
                    Item soap = new Soap {
                        Name = itemName, SellIn = sellIn, Quality = quality
                    };
                    items.Add(soap);
                    break;

                case "Aged Brie":
                    Item agedBrie = new AgedBrie {
                        Name = itemName, SellIn = sellIn, Quality = quality
                    };
                    items.Add(agedBrie);
                    break;

                case "INVALID ITEM":
                    Item invalidItem = new InvalidItem {
                        Name = itemName, SellIn = sellIn, Quality = quality
                    };
                    items.Add(invalidItem);
                    break;
                }
            }
            return(items);
        }