Exemple #1
0
        public void ReturnSmallPizzaWithOneTierTwoToppingCost_WhenGetCostIsCalled()
        {
            var expectedCost     = 5.5;
            var smallPizza       = new SmallPizza();
            var toppingDecorator = new ToppingDecorator(smallPizza, Toppings.SmokedBacon);

            var actualCost = toppingDecorator.GetCost();

            actualCost.Should().Be(expectedCost);
        }
Exemple #2
0
        public void ReturnSmallPizzaWithOneTierOneToppingCost_WhenGetCostIsCalled()
        {
            var expectedCost     = 5.25;
            var smallPizza       = new SmallPizza();
            var toppingDecorator = new ToppingDecorator(smallPizza, Toppings.BlackOlives);

            var actualCost = toppingDecorator.GetCost();

            actualCost.Should().Be(expectedCost);
        }
Exemple #3
0
        public void ReturnSmallPizzaWithTwoTierOneToppingsCost_WhenGetCostIsCalled()
        {
            var expectedCost        = 5.5;
            var smallPizza          = new SmallPizza();
            var toppingDecoratorOne = new ToppingDecorator(smallPizza, Toppings.BlackOlives);
            var toppingDecoratorTwo = new ToppingDecorator(toppingDecoratorOne, Toppings.Mushrooms);

            var actualCost = toppingDecoratorTwo.GetCost();

            actualCost.Should().Be(expectedCost);
        }
Exemple #4
0
        public void ReturnSmallPizzaWithOneToppingDescription_WhenGetDescriptionIsCalled()
        {
            var expectedToppingDescription = Toppings.SmokedBacon;
            var expectedDescription        = $"Small Pizza\r\n\t- {expectedToppingDescription}";
            var smallPizza       = new SmallPizza();
            var toppingDecorator = new ToppingDecorator(smallPizza, expectedToppingDescription);

            var actualDescription = toppingDecorator.GetDescription();

            actualDescription.Should().Be(expectedDescription);
        }
Exemple #5
0
        public void ReturnSmallPizzaWithTwoToppingsDescription_WhenGetDescriptionIsCalled()
        {
            var expectedFirstToppingDescription  = Toppings.SmokedBacon;
            var expectedSecondToppingDescription = Toppings.Mushrooms;
            var expectedDescription =
                $"Small Pizza\r\n\t- {expectedFirstToppingDescription}\r\n\t- {expectedSecondToppingDescription}";
            var smallPizza          = new SmallPizza();
            var toppingDecoratorOne = new ToppingDecorator(smallPizza, expectedFirstToppingDescription);
            var toppingDecoratorTwo = new ToppingDecorator(toppingDecoratorOne, expectedSecondToppingDescription);

            var actualDescription = toppingDecoratorTwo.GetDescription();

            actualDescription.Should().Be(expectedDescription);
        }
Exemple #6
0
        public void CreateSmallPizzaWithOneTopping_WhenWithToppingIsCalledOnce()
        {
            var sauce                       = Sauces.Tomato;
            var crust                       = Crusts.Classic;
            var topping                     = Toppings.Mozzarella;
            var smallPizza                  = new SmallPizza();
            var smallPizzaWithSauce         = new SauceDecorator(smallPizza, sauce);
            var smallPizzaWithSauceAndCrust = new CrustDecorator(smallPizzaWithSauce, crust);
            var expectedPizza               = new ToppingDecorator(smallPizzaWithSauceAndCrust, topping);
            var customPizza                 = new PizzaBuilder();

            customPizza.CreatePizzaWithSize(Size.Small)
            .WithSauce(sauce)
            .WithCrust(crust)
            .AddTopping(topping);
            var actualPizza = customPizza.Bake();

            actualPizza.Should().BeEquivalentTo(expectedPizza);
        }