示例#1
0
        public void BackStagePassesQualityShouldIncreaseUntilTheConcertIsOver(int sellin, int initialQuality, int expectedQuality)
        {
            // Arrange
            var storeItem = StoreItemHelper.GetBackstage(sellin: sellin, quality: initialQuality);

            // Act
            updateQualityStratergy.UpdateQuality(storeItem);

            // Assert
            storeItem.Quality.Should().Be(expectedQuality);
        }
        public void QualityShouldNeverBeNegative()
        {
            // Arrange
            var storeItem = StoreItemHelper.GetNormalItem(quality: 0);

            // Act
            updateQualityStratergy.UpdateQuality(storeItem);

            // Assert
            storeItem.Quality.Should().Be(0);
        }
        public void ReduceNormalItemQualityByTwoWhenSellInLessThanOne()
        {
            // Arrange
            var storeItem       = StoreItemHelper.GetNormalItem(sellin: 0);
            int expectedQuality = storeItem.Quality - 2;

            // Act
            updateQualityStratergy.UpdateQuality(storeItem);

            // Assert
            storeItem.Quality.Should().Be(expectedQuality);
        }
        public void ReduceNormalItemSellInByOne()
        {
            // Arrange
            var storeItem      = StoreItemHelper.GetNormalItem();
            int expectedSellIn = storeItem.SellIn - 1;

            // Act
            updateQualityStratergy.UpdateQuality(storeItem);

            // Assert
            storeItem.SellIn.Should().Be(expectedSellIn);
        }
        public void ReduceNormalItemQualityByOne()
        {
            // Arrange
            var storeItem       = StoreItemHelper.GetNormalItem();
            int expectedQuality = storeItem.Quality - 1;

            // Act
            updateQualityStratergy.UpdateQuality(storeItem);

            // Assert
            storeItem.Quality.Should().Be(expectedQuality);
        }
        public void SulfurasSellInShouldNotChange()
        {
            // Arrange
            var storeItem      = StoreItemHelper.GetSulfuras();
            int expectedSellIn = storeItem.SellIn;

            // Act
            updateQualityStratergy.UpdateQuality(storeItem);

            // Assert
            storeItem.SellIn.Should().Be(expectedSellIn);
        }
        public void SulfurasQualityShouldNotChange()
        {
            // Arrange
            var storeItem       = StoreItemHelper.GetSulfuras();
            int expectedQuality = storeItem.Quality;

            // Act
            updateQualityStratergy.UpdateQuality(storeItem);

            // Assert
            storeItem.Quality.Should().Be(expectedQuality);
        }
        public void ShouldDegrageInQualityTwiceAsFastAsNormalItems()
        {
            // Arrange
            var storeItem       = StoreItemHelper.GetConjuredItem(sellin: 10);
            int expectedQuality = storeItem.Quality - 2;

            // Act
            updateQualityStratergy.UpdateQuality(storeItem);

            // Assert
            storeItem.Quality.Should().Be(expectedQuality);
        }
        public void ShouldIncreaseQualityOfAgedBrieBy2AfterSellinEdgeCase()
        {
            // Arrange
            var storeItem       = StoreItemHelper.GetAgedBrie(sellin: 1);
            int expectedQuality = storeItem.Quality + 1;

            // Act
            updateQualityStratergy.UpdateQuality(storeItem);

            // Assert
            storeItem.Quality.Should().Be(expectedQuality);
        }
        public void ShouldNotIncreseQualityOfAgedBriePast50()
        {
            // Arrange
            var storeItem       = StoreItemHelper.GetAgedBrie(quality: GildedRoseTestConstants.MaxQuality);
            int expectedQuality = storeItem.Quality;

            // Act
            updateQualityStratergy.UpdateQuality(storeItem);

            // Assert
            storeItem.Quality.Should().Be(expectedQuality);
        }
        public void AigedBrieQualityShouldIncrease()
        {
            // Arrange
            var storeItem       = StoreItemHelper.GetAgedBrie();
            int expectedQuality = storeItem.Quality + 1;

            // Act
            updateQualityStratergy.UpdateQuality(storeItem);

            // Assert
            storeItem.Quality.Should().Be(expectedQuality);
        }