Ejemplo n.º 1
0
        public void AgedBrieTestQuality()
        {
            var agedBrie = new AgedBrie();

            agedBrie.EndOfDayUpdate(4, 5);
            agedBrie.Quality.ShouldBe(6);
        }
Ejemplo n.º 2
0
    public static IList <Item> UpdateItensType(IList <Item> Items)
    {
        IList <Item> updatedItemListWithClasses = Items;

        for (var i = 0; i < Items.Count; i++)
        {
            if (Items[i].Name == "Backstage passes to a TAFKAL80ETC concert")
            {
                updatedItemListWithClasses[i] = new Backstage {
                    Name = Items[i].Name, SellIn = Items[i].SellIn, Quality = Items[i].Quality
                };
            }
            else if (Items[i].Name == "Aged Brie")
            {
                updatedItemListWithClasses[i] = new AgedBrie {
                    Name = Items[i].Name, SellIn = Items[i].SellIn, Quality = Items[i].Quality
                };;
            }
            else if (Items[i].Name == "Sulfuras, Hand of Ragnaros")
            {
                updatedItemListWithClasses[i] = new Sulfuras {
                    Name = Items[i].Name, SellIn = Items[i].SellIn, Quality = Items[i].Quality
                };;
            }
            else
            {
                updatedItemListWithClasses[i] = new Common {
                    Name = Items[i].Name, SellIn = Items[i].SellIn, Quality = Items[i].Quality
                };;
            }
        }

        return(updatedItemListWithClasses);
    }
Ejemplo n.º 3
0
        public void ValidateQuality(int inputQuality, int expectedResult)
        {
            AgedBrie agedBrie = new AgedBrie();
            int      actual   = agedBrie.ValidateQuality(inputQuality);

            Assert.That(actual, Is.EqualTo(expectedResult));
        }
Ejemplo n.º 4
0
        private Item GetItem(string category)
        {
            Item item;

            switch (category)
            {
            case AGEDBRIE_NAME:
                item = new AgedBrie();
                break;

            case BACKSTAGEPASSES_CATEGORY:
                item = new BackstagePasses();
                break;

            case CONJURED_CATEGORY:
                item = new Conjured();
                break;

            case SULFURAS_CATEGORY:
                item = new Sulfuras();
                break;

            default:
                item = new Item();
                break;
            }
            item.Category = category;
            return(item);
        }
Ejemplo n.º 5
0
        public void AgedBrieTestMaximumQuality()
        {
            var agedBrie = new AgedBrie();

            agedBrie.EndOfDayUpdate(4, 50);
            agedBrie.Quality.ShouldBe(50);
        }
Ejemplo n.º 6
0
        public static ItemObjects ItemObjects(Item item)
        {
            ItemObjects inheritedItem = null;

            switch (item.Name)
            {
            case "+5 Dexterity Vest":
                inheritedItem = new DexterityVest(item);
                break;

            case "Aged Brie":
                inheritedItem = new AgedBrie(item);
                break;

            case "Elixir of the Mongoose":
                inheritedItem = new ElixirOfTheMongoose(item);
                break;

            case "Sulfuras, Hand of Ragnaros":
                inheritedItem = new Sulfuras(item);
                break;

            case "Backstage passes to a TAFKAL80ETC concert":
                inheritedItem = new BackstagePasses(item);
                break;

            case "Conjured Mana Cake":
                inheritedItem = new Conjured(item);
                break;
            }
            return(inheritedItem);
        }
Ejemplo n.º 7
0
        public void UpdateQuality_GreaterThan50_ReturnsFifty()
        {
            Item item = new AgedBrie();

            item.Quality = 50;
            item.UpdateQuality();
            Assert.AreEqual(50, item.Quality);
        }
        public void QualityIncreasesByOne()
        {
            var item = new AgedBrie();
            item.Quality = 49;

            strategy.UpdateQuality(item);

            Assert.AreEqual(50, item.Quality);
        }
Ejemplo n.º 9
0
        public void QualityIncresesWithTime()
        {
            var brie = new AgedBrie(10, 10);

            brie.Update();

            brie.SellIn.Should().Be(9);
            brie.Quality.Should().Be(11);
        }
Ejemplo n.º 10
0
        public void QualityCanBeGreaterThanMax()
        {
            var brie = new AgedBrie(1, 50);

            brie.Update();

            brie.SellIn.Should().Be(0);
            brie.Quality.Should().Be(50);
        }
Ejemplo n.º 11
0
        public void UpdateQuality_AgedBrie()
        {
            Item item = new AgedBrie();

            item.SellIn  = 0;
            item.Quality = 1;
            item.UpdateQuality();
            Assert.AreEqual(2, item.Quality);
        }
Ejemplo n.º 12
0
        public void Age_WhenQualityIsFifty_ShouldNotIncreaseQuality()
        {
            // Arrange
            var item = new AgedBrie("", 4, 50);

            // Act
            item.Age();
            // Assert
            item.Quality.ShouldBe(50);
        }
Ejemplo n.º 13
0
        public void QualityIncreasesByOne()
        {
            var item = new AgedBrie();

            item.Quality = 49;

            strategy.UpdateQuality(item);

            Assert.AreEqual(50, item.Quality);
        }
Ejemplo n.º 14
0
        public void AgedBrieTestMaximumQualityMessage()
        {
            var agedBrie = new AgedBrie();

            agedBrie.EndOfDayUpdate(4, 50);
            agedBrie.Quality.ShouldBe(50);
            var message = agedBrie.GetEndOfDayValues();

            message.ShouldContain("50");
        }
Ejemplo n.º 15
0
        public void incrementAgedBrieQualityTwiceAfterADayWhenExceededSellInDays()
        {
            AgedBrie   item = AgedBrie.Create(sellIn: -1, quality: 10);
            GildedRose app  = new GildedRose(item);

            app.UpdateItemsQualityAfterADay();

            Assert.AreEqual(12, item.Quality);
            Assert.AreEqual(-2, item.SellIn);
        }
Ejemplo n.º 16
0
        public void UpdateQualityShouldIncreaseAgedBrieItemQuality(string name, int sellIn, int quality)
        {
            var ItemWrapper = new AgedBrie {
                Name = name, SellIn = sellIn, Quality = quality
            };

            ItemWrapper.UpdateItem();

            Assert.That(ItemWrapper.Quality == quality + 1);
        }
        public void Test_ItemFactory_Create_AgedBrie_ReturnOk()
        {
            // Arrange
            AgedBrie agedBrie = new AgedBrie("Aged Brie", 0, 0);

            //Act
            var itemCreated = ItemFactory.Create("Aged Brie", 0, 0);

            //Assert
            Assert.Equal(itemCreated.GetType(), agedBrie.GetType());
        }
Ejemplo n.º 18
0
        public void AgedBrieShouldGoUpTwiceAsMuchAfterSellBy()
        {
            Item item = new AgedBrie()
            {
                Quality = _quality,
                SellIn  = -1
            };

            _rule.Apply(item);
            Assert.That(item.Quality, Is.EqualTo(_quality + 2));
        }
Ejemplo n.º 19
0
        public void AgedBrieShouldGoUpInQuality()
        {
            Item item = new AgedBrie()
            {
                Quality = _quality,
                SellIn  = 10
            };

            _rule.Apply(item);
            Assert.That(item.Quality, Is.EqualTo(_quality + 1));
        }
        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);
        }
Ejemplo n.º 21
0
        public void Age_WhenSellInIsNegativeOrZero_ShouldIncreaseQualityByTwo(int sellIn)
        {
            // Arrange
            var initialQuality = 10;
            var item           = new AgedBrie("", sellIn, initialQuality);

            // Act
            item.Age();
            // Assert
            item.Quality.ShouldBe(initialQuality + 2);
        }
Ejemplo n.º 22
0
        public void Test_AgedBrie_Update_MinimumLimits_ReturnOk()
        {
            // Arrange
            AgedBrie agedBrie = new AgedBrie("Aged Brie", 1, -5);

            //Act
            agedBrie.Update();

            //Assert
            Assert.Equal(1, agedBrie.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);
        }
Ejemplo n.º 24
0
        public void Ctor_WhenCalled_ShouldSetUpPropertiesCorrectly(string name, int sellIn, int quality)
        {
            // Arrange, Act
            var item = new AgedBrie(name, sellIn, quality);

            // Assert
            item.Name.ShouldBe(name);
            item.SellIn.ShouldBe(sellIn);
            item.Quality.ShouldBe(quality);
            item.DegradationRate.ShouldBe(-1);
        }
        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);
        }
Ejemplo n.º 26
0
        public void NeverHaveQualityGreaterThan50WhenProcessIsCalled()
        {
            var quality = 50;
            var sellIn  = 10;

            var agedBrie = new AgedBrie(quality, sellIn);

            agedBrie.Process();

            Assert.That(agedBrie.Quality, Is.EqualTo(quality));
        }
Ejemplo n.º 27
0
        public void IncreaseInQualityWhenProcessIsCalled()
        {
            var quality = 10;
            var sellIn  = 10;

            var agedBrie = new AgedBrie(quality, sellIn);

            agedBrie.Process();

            Assert.That(agedBrie.Quality, Is.EqualTo(quality + 1));
        }
Ejemplo n.º 28
0
        public void Age_WhenSellInIsPositive_ShouldIncreaseQualityByOne(int sellIn)
        {
            // Arrange
            var initialQuality = 10;
            var item           = new AgedBrie("", sellIn, initialQuality);

            // Act
            item.Age();
            // Assert
            item.Quality.ShouldBe(initialQuality + 1);
        }
        public void Initialize()
        {
            ItemManager.InitializeInventory();

            dexterityVest    = new DexterityVest("+5 Dexterity Vest", 10, 20);
            agedBri          = new AgedBrie("Aged Brie", 2, 0);
            elixirOfMongoose = new MongooseElixir("Elixir of the Mongoose", 5, 7);
            handOfRagnaros   = new Sulfuras("Sulfuras, Hand of Ragnaros", 0, 80);
            backstagePass    = new BackstagePass("Backstage passes to a TAFKAL80ETC concert", 15, 20);
            manaCake         = new ManaCake("Conjured Mana Cake", 3, 6);
        }
Ejemplo n.º 30
0
        public void Test_AgedBrie_Update_MaximumLimits_ReturnOk()
        {
            // Arrange
            AgedBrie agedBrie = new AgedBrie("Aged Brie", 1, 50);

            //Act
            agedBrie.Update();

            //Assert
            Assert.Equal(50, agedBrie.Quality);
            Assert.Equal(0, agedBrie.SellIn);
        }
Ejemplo n.º 31
0
        public void Test_AgedBrie_Update_MaximumMinimum_ReturnIcreaseOne()
        {
            // Arrange
            AgedBrie agedBrie = new AgedBrie("Aged Brie", 2, 0);

            //Act
            agedBrie.Update();

            //Assert
            Assert.Equal(1, agedBrie.Quality);
            Assert.Equal(1, agedBrie.SellIn);
        }
Ejemplo n.º 32
0
        public void Aged_Brie_Improves()
        {
            AbstractItem item = new AgedBrie();

            item.ProcessDay();

            Assert.Equal(1, item.Quality);
            Assert.Equal(1, item.SellIn);

            item.ProcessDay();
            Assert.Equal(2, item.Quality);
            Assert.Equal(0, item.SellIn);

            //Extra test to confirm that brie double-improves after SellIn is 0
            item.ProcessDay();
            Assert.Equal(4, item.Quality);
            Assert.Equal(-1, item.SellIn);
        }