public void ProcessOrder(OrderInfo orderInfo) { BillingProcessor billingProcessor = new BillingProcessor(); CustomerProcessor customerProcessor = new CustomerProcessor(); Notifier notifier = new Notifier(); billingProcessor.ProcessPayment(orderInfo.CustomerName, orderInfo.CreditCard, orderInfo.CustomerEmail); customerProcessor.UpdateCustomerOrder(orderInfo.CustomerName, orderInfo.Product); notifier.SendReceipt(orderInfo); }
public void TestCustomerProcessorUpdate() { Mock <ICustomerRepository> mockCustomerRepository = new Mock <ICustomerRepository>(); Mock <IProductRepository> mockProductRepository = new Mock <IProductRepository>(); mockCustomerRepository.Setup(obj => obj.Save()).Callback(() => Console.WriteLine("Mock save in Customer Repository called.")); mockProductRepository.Setup(obj => obj.Save()).Callback(() => Console.WriteLine("Mock save in Product Repository called.")); ICustomerProcessor customerProcessor = new CustomerProcessor(mockCustomerRepository.Object, mockProductRepository.Object); customerProcessor.UpdateCustomerOrder("CUST101", "PROD400"); Assert.IsTrue(1 == 1); }