예제 #1
0
 public MachineLogic(IDrinkMakerProtocol drinkMakerProtocol,
                     IBeverageQuantityChecker beverageQuantityChecker,
                     IEmailNotifier emailNotifier)
 {
     this.drinkMakerProtocol      = drinkMakerProtocol;
     this.cashier                 = new Cashier();
     this.repository              = new Repository();
     this.beverageQuantityChecker = beverageQuantityChecker;
     this.emailNotifier           = emailNotifier;
 }
예제 #2
0
        public void ForwardMessage_Should_Return_Correct_Instruction_For_Message(string message, string expectedMessage)
        {
            // GIVEN
            IDrinkMakerProtocol drinkMakerProtocol = Substitute.For <IDrinkMakerProtocol>();

            drinkMakerProtocol.BuildMessage(message).Returns(expectedMessage);

            var cashRegister       = Substitute.For <ICashRegister>();
            var coffeeMachineLogic = new CoffeeMachineLogic(drinkMakerProtocol, cashRegister);

            // WHEN
            string forwardedMessage = coffeeMachineLogic.ForwardMessage(message);

            // THEN
            Check.That(forwardedMessage).IsEqualTo(expectedMessage);
        }
예제 #3
0
 public MachineLogic(IDrinkMakerProtocol drinkMakerProtocol)
 {
     this.drinkMakerProtocol = drinkMakerProtocol;
     this.cashier            = new Cashier();
     this.repository         = new Repository();
 }
예제 #4
0
 public CoffeeMachineLogic(IDrinkMakerProtocol drinkMakerProtocol, ICashRegister cashRegister)
 {
     this.drinkMakerProtocol = drinkMakerProtocol;
     this.cashRegister       = cashRegister;
 }