public void TranslateOrder_ShouldReturnInstructionObject(string drinkName, double drinkCost, int sugarQuantity) { var drinkType = new DrinkType(drinkName, drinkCost); Order order = new Order(drinkType, sugarQuantity); var result = DrinkMakerProtocol.TranslateOrder(order); Assert.IsType <Instruction>(result); }
public void TranslateOrder_ShouldReturnCorrectString_FromOrderObject(string expected, string drinkName, double drinkCost, int sugarQuantity) { var drinkType = new DrinkType(drinkName, drinkCost); Order order = new Order(drinkType, sugarQuantity); var actualResult = DrinkMakerProtocol.TranslateOrder(order); Assert.Equal(expected, actualResult.InstructionMessage); }
public void AssessPaymentShould_ReturnCorrectOrderString_WhenSufficientPaymentAmount() { // Order order = new Order(drinkType: "tea", sugarQuantity: 1); var tea = new DrinkType("tea", 0.4); var order = new Order(tea, 1); var payment = new Payment(1); var actualResult = DrinkMakerProtocol.AssessPayment(order, payment); Assert.Equal("T:1:0", actualResult.InstructionMessage); }
public void BuildCommand_Should_Build_Empty_Message() { // arange IDrinkMakerProtocol drinkMakerProtocol = new DrinkMakerProtocol(); // act string message = drinkMakerProtocol.MakeOrder(); // assert Assert.Empty(message); }
public void BuildMessage_Should_Build_Message(string message_content, string expectedMessage) { // arange IDrinkMakerProtocol drinkMakerProtocol = new DrinkMakerProtocol(); // act string message = drinkMakerProtocol.BuildMessage(message_content); // assert Assert.Equal(expectedMessage, message); }
public void AssessPaymentShould_ReturnCorrectOrderString_WhenInSufficientPaymentAmount() { var tea = new DrinkType("tea", 0.4); var order = new Order(tea, 1); var payment = new Payment(0.15); var expectedChange = 0.25; var actualResult = DrinkMakerProtocol.AssessPayment(order, payment); Assert.Equal($"M:Not enough, missing {expectedChange} euro", actualResult.InstructionMessage); }
public void BuildMessage_Sould_Build_Message_Just_Drink(string drinkCode, string expectedMessage) { // arange IDrinkMakerProtocol drinkMakerProtocol = new DrinkMakerProtocol(); drinkMakerProtocol.SetCode(drinkCode); // act string message = drinkMakerProtocol.MakeOrder(); // assert Assert.Equal(expectedMessage, message); }
public void Should_get_the_user_interface_message() { var command = "M:message-content"; var result = DrinkMakerProtocol.Handle(command); var expectedResult = new DrinkMakerCommand() { Message = "message-content" }; Assert.AreEqual(expectedResult, result); }
public void ForwardMessage_Should_Forward_Any_Message_Received(string message, string expectedMessage) { // GIVEN IDrinkMakerProtocol drinkMakerProtocol = new DrinkMakerProtocol(); ICashRegister cashRegister = new CashRegister(); CoffeeMachineLogic coffeeMachineLogic = new CoffeeMachineLogic(drinkMakerProtocol, cashRegister); // WHEN string forwardedMessage = coffeeMachineLogic.ForwardMessage(message); // THEN Check.That(forwardedMessage).IsEqualTo(expectedMessage); }
public void BuildMessage_Sould_Build_Message_For_Drink_And_Sugar(string drinkCode, int sugarQty, string expectedMessage) { // arange IDrinkMakerProtocol drinkMakerProtocol = new DrinkMakerProtocol(); drinkMakerProtocol.SetCode(drinkCode); drinkMakerProtocol.SetSugarQty(sugarQty); // act string message = drinkMakerProtocol.MakeOrder(); // assert Assert.Equal(expectedMessage, message); }
public void BuildMessage_Should_Build_Empty_Message() { // GIVEN IDrinkOrder drinkOrder = Substitute.For <IDrinkOrder>(); drinkOrder.GetDrinkCode().Returns(string.Empty); IDrinkMakerProtocol drinkMakerProtocol = new DrinkMakerProtocol(); // WHEN string message = drinkMakerProtocol.BuildCommand(drinkOrder); // THEN Check.That(message).IsEmpty(); }
public void Should_get_one_coffee_with_two_sugars_and_one_stick() { var command = "C:2:0"; var result = DrinkMakerProtocol.Handle(command); var expectedResult = new DrinkMakerCommand() { HasStick = true, SugarCount = 2, DrinkType = DrinkType.Coffee }; Assert.AreEqual(expectedResult, result); }
public void Should_get_one_chocolate_with_no_sugar_and_no_stick() { var command = "H::"; var result = DrinkMakerProtocol.Handle(command); var expectedResult = new DrinkMakerCommand() { HasStick = false, SugarCount = 0, DrinkType = DrinkType.Chocolate }; Assert.AreEqual(expectedResult, result); }
public void Should_get_one_tea_with_one_suger_and_no_stick() { var command = "T:1:0"; var result = DrinkMakerProtocol.Handle(command); var expectedResult = new DrinkMakerCommand() { HasStick = true, SugarCount = 1, DrinkType = DrinkType.Tea }; Assert.AreEqual(expectedResult, result); }
public void BuildMessage_Should_Build_Message_For_Drink(string drinkCode, string expectedMessage) { // GIVEN IDrinkOrder drinkOrder = Substitute.For <IDrinkOrder>(); drinkOrder.GetDrinkCode().Returns(drinkCode); IDrinkMakerProtocol drinkMakerProtocol = new DrinkMakerProtocol(); // WHEN string message = drinkMakerProtocol.BuildCommand(drinkOrder); // THEN Check.That(message).IsEqualTo(expectedMessage); }
public void SendOrder_Should_Return_Message_With_Insufficient_Money_in_Message(double drinkprice, double InsertedAmount, string expectedMessage) { // arrange var drinkorder = new Mock <IDrinkOrder>(); drinkorder.Setup(x => x.GetDrinkPrice()).Returns(drinkprice); var drinkMakerProtocol = new DrinkMakerProtocol(); var machineLogic = new MachineLogic(drinkMakerProtocol); machineLogic.InsertMoney(InsertedAmount); // act string sendededMessage = machineLogic.SendOrder(drinkorder.Object); // assert Assert.Equal(expectedMessage, sendededMessage); }
public void SendOrder_Should_Return_Empty_Message(string codeDrink) { // arrange var beverageQuantityChecker = new Mock <IBeverageQuantityChecker>(); beverageQuantityChecker.Setup(x => x.IsEmpty(codeDrink)).Returns(false); var emailNotifier = new Mock <IEmailNotifier>(); emailNotifier.Setup(x => x.NotifyMissingDrink(codeDrink)); var drinkmakerprotocol = new DrinkMakerProtocol(); var machinelogic = new MachineLogic(drinkmakerprotocol, beverageQuantityChecker.Object, emailNotifier.Object); var drinkorder = new Mock <IDrinkOrder>(); //act string command = machinelogic.SendOrder(drinkorder.Object); //assert Assert.Equal(string.Empty, command); }
public void SendMessage_Should_Send_Correct_Instructions_For_Orange_Juice_Order() { // GIVEN IDrinkMakerProtocol drinkMakerProtocol = new DrinkMakerProtocol(); ICashRegister cashRegister = new CashRegister(); CoffeeMachineLogic coffeeMachineLogic = new CoffeeMachineLogic(drinkMakerProtocol, cashRegister); IColdDrink drink = new OrangeJuice(); IDrinkOrder drinkOrder = new DrinkOrder(drink); var price = drinkOrder.GetPrice(); coffeeMachineLogic.InsertMoney(0.6); // WHEN string command = coffeeMachineLogic.SendCommand(drinkOrder); // THEN Check.That(command).IsEqualTo("O::"); }
public void SendMessage_Should_Send_Correct_Instructions_For_Chocolate_With_Two_Sugar_Order() { // GIVEN IDrinkMakerProtocol drinkMakerProtocol = new DrinkMakerProtocol(); ICashRegister cashRegister = new CashRegister(); CoffeeMachineLogic coffeeMachineLogic = new CoffeeMachineLogic(drinkMakerProtocol, cashRegister); IHotDrink drink = new Chocolate(); drink.AddSugar().AddSugar(); IDrinkOrder drinkOrder = new DrinkOrder(drink); var price = drinkOrder.GetPrice(); coffeeMachineLogic.InsertMoney(price); // WHEN string command = coffeeMachineLogic.SendCommand(drinkOrder); // THEN Check.That(command).IsEqualTo("H:2:1"); }
public void SendOrder_Should_Return_Message_If_There_Shortage(string codeDrink, double drinkprice, string expectedMessage) { // arrange var beverageQuantityChecker = new Mock <IBeverageQuantityChecker>(); beverageQuantityChecker.Setup(x => x.IsEmpty(codeDrink)).Returns(true); var emailNotifier = new Mock <IEmailNotifier>(); emailNotifier.Setup(x => x.NotifyMissingDrink(codeDrink)); var drinkorder = new Mock <IDrinkOrder>(); drinkorder.Setup(x => x.GetDrinkCode()).Returns(codeDrink); var drinkMakerProtocol = new DrinkMakerProtocol(); var machineLogic = new MachineLogic(drinkMakerProtocol, beverageQuantityChecker.Object, emailNotifier.Object); machineLogic.InsertMoney(drinkprice); // act string sendededMessage = machineLogic.SendOrder(drinkorder.Object); // assert Assert.Equal(expectedMessage, sendededMessage); }
public void sendOrder_Sould_Build_Message_For_Orange(string codeDrink, string expectedMessage) { // arrange var beverageQuantityChecker = new Mock <IBeverageQuantityChecker>(); beverageQuantityChecker.Setup(x => x.IsEmpty(codeDrink)).Returns(false); var emailNotifier = new Mock <IEmailNotifier>(); emailNotifier.Setup(x => x.NotifyMissingDrink(codeDrink)); var drink = new OrangeJuice(); var drinkOrder = new DrinkOrder(drink); var drinkMakerProtocol = new DrinkMakerProtocol(); var logicMachine = new MachineLogic(drinkMakerProtocol, beverageQuantityChecker.Object, emailNotifier.Object); logicMachine.InsertMoney(.60); // act string message = logicMachine.SendOrder(drinkOrder); // assert Assert.Equal(expectedMessage, message); }