public void ShouldHaveFullCalzonePrice()
        {
            //Arrange
            ICalzone subject = CalzoneType.FullCalzone.Create();

            //Act
            Money actual = subject.Price();

            //Assert
            actual.Should().Be(new Money(14));
        }
        public void ShouldHaveFullCalzonePriceWithTopping()
        {
            //Arrange
            ICalzone initial = CalzoneType.FullCalzone.Create();
            ICalzone subject = initial.AddTopping(Topping.Mozzarella);

            //Act
            Money actual = subject.Price();

            //Assert
            actual.Should().Be(new Money(15.40));
        }
        public void ShouldDisplayFullCalzoneDescriptionWithNoToppings()
        {
            //Arrange
            ICalzone        pizza           = CalzoneType.FullCalzone.Create();
            IDescription    subject         = pizza.Description();
            TestWriteString testWriteString = new TestWriteString();

            //Act
            subject.Into(testWriteString);

            //Assert
            testWriteString.AssertValueIs("Full calzone");
        }
        public void ShouldMaintainToppingsAfterResizeFromHalfToFull()
        {
            //Arrange
            ICalzone        initial         = CalzoneType.HalfCalzone.Create().AddTopping(Topping.Mushroom);
            ICalzone        subject         = initial.As(CalzoneType.FullCalzone);
            TestWriteString testWriteString = new TestWriteString();
            IDescription    actual          = subject.Description();

            //Act
            actual.Into(testWriteString);

            //Assert
            testWriteString.AssertValueIs("Full calzone with Mushroom");
        }