Exemple #1
0
        public void OrderDrinkTest()
        {
            //Arrange
            var mockDrink = mockRepository.Create <IDrink>();

            mockDrinkFactory.Setup(m => m.BuildDrink(EDrinks.Expresso, true, true, true)).Returns(mockDrink.Object);
            mockPreparer.Setup(m => m.Prepare(mockDrink.Object));

            //Act
            AcuCafe.OrderDrink(EDrinks.Expresso, true, true, true);

            //Assert
            mockDrinkFactory.Verify(m => m.BuildDrink(EDrinks.Expresso, true, true, true), Times.Once);
            mockPreparer.Verify(m => m.Prepare(mockDrink.Object), Times.Once);
        }
Exemple #2
0
        public static IDrink OrderDrink(string type, bool hasMilk, bool hasSugar)
        {
            AcuCafe       cafe        = new AcuCafe(new DrinkFactory(), new DrinkIngredientFactory(), new BaristaInformer(), new Logger(@"c:\Error.txt"));
            List <string> ingredients = new List <string>();

            if (hasMilk)
            {
                ingredients.Add("milk");
            }
            if (hasSugar)
            {
                ingredients.Add("sugar");
            }

            return(cafe.OrderDrink(type, ingredients));
        }
Exemple #3
0
        public void OrderDrink_Should_Validate_And_Prepare_Order(bool validation, bool returnNullValidator, bool returnNullDrink,
                                                                 string expectedMessage, Mock <Drink> expectedDrink,
                                                                 [Frozen] Mock <IDrinkFactory> drinkFactory, [Frozen] Mock <IDrinkValidatorFactory> drinkValidatorFactory, [Frozen] Mock <IDrinkValidator> drinkValidator,
                                                                 AcuCafe.AcuCafe sut)
        {
            if (!returnNullValidator)
            {
                drinkValidatorFactory.Setup(x => x.Get(It.IsAny <string>())).Returns(drinkValidator.Object);
                drinkValidator.Setup(x => x.Validate(It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <Topping>())).Returns(validation);
            }
            else
            {
                drinkValidatorFactory.Setup(x => x.Get(It.IsAny <string>())).Returns(default(IDrinkValidator));
            }

            if (!returnNullDrink)
            {
                drinkFactory.Setup(x => x.Get(It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <Topping>())).Returns(expectedDrink.Object);
                expectedDrink.Setup(x => x.Prepare()).Returns(expectedMessage);
            }
            else
            {
                drinkFactory.Setup(x => x.Get(It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <Topping>())).Returns(default(Drink));
            }

            var result = sut.OrderDrink(It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>());

            result.Item1.ShouldBe(expectedMessage);
            if (!returnNullDrink && !returnNullValidator)
            {
                result.Item2.ShouldNotBeNull();
            }
            else
            {
                result.Item2.ShouldBeNull();
            }
        }