public void GivenCoffeeShop_WhenCallingGetSummary_ThenSummaryIsReturned() { _itemUnderTest = GivenCoffeeShopWithCustomers(); var result = _itemUnderTest.GetSummary(); Assert.IsNotEmpty(result); Mock.Get(_coffeeShopReportGenerator).Verify(c => c.GenerateSummaryReport(_coffeeShopState), Times.Once); }
public void GivenEmptyCoffeeShop_WhenCallingGetSummary_ThenSummaryStringShouldBeReturned() { _itemUnderTest = GivenEmptyCoffeeShop(); var result = _itemUnderTest.GetSummary(); Assert.AreEqual( "Coffee Shop Summary" + Environment.NewLine + Environment.NewLine + "Total customers: 0" + Environment.NewLine + " General sales: 0" + Environment.NewLine + " Loyalty member sales: 0" + Environment.NewLine + " Discount sales: 0" + Environment.NewLine + " Employee Complimentary: 0" + Environment.NewLine + Environment.NewLine + "Total revenue from drinks: 0" + Environment.NewLine + "Total costs from drinks: 0" + Environment.NewLine + "Coffee Shop losing money of: 0" + Environment.NewLine + Environment.NewLine + "Total loyalty points given away: 0" + Environment.NewLine + "Total loyalty points redeemed: 0" + Environment.NewLine + Environment.NewLine + "Beans used: 0" + Environment.NewLine + "Beans remaining: 1000" + Environment.NewLine + Environment.NewLine + "Coffee Shop will not open tomorrow", result); }
//TODO: Refactor static void Main(string[] args) { SetupData(); string command = ""; do { command = Console.ReadLine() ?? ""; var enteredText = command.ToLower(); if (enteredText.Contains("print summary")) { Console.WriteLine(); Console.WriteLine(_coffeeShop.GetSummary()); } else if (enteredText.Contains("add general")) { string[] segments = enteredText.Split(' '); _coffeeShop.AddCustomer(new Customer { Type = CustomerType.General, Name = segments[2], Drinks = GetDrinks() }); } else if (enteredText.Contains("add loyalty")) { string[] segments = enteredText.Split(' '); _coffeeShop.AddCustomer(new Customer { Type = CustomerType.LoyaltyMember, Name = segments[2], LoyaltyPoints = Convert.ToInt32(segments[3]), IsUsingLoyaltyPoints = Convert.ToBoolean(segments[4]), Drinks = GetDrinks() }); } else if (enteredText.Contains("add employee")) { string[] segments = enteredText.Split(' '); _coffeeShop.AddCustomer(new Customer { Type = CustomerType.CoffeeEmployee, Name = segments[2], Drinks = GetDrinks() }); } else if (enteredText.Contains("add discount")) { string[] segments = enteredText.Split(' '); _coffeeShop.AddCustomer(new Customer { Type = CustomerType.CoffeeEmployee, Name = segments[2], Drinks = GetDrinks() }); } else if (enteredText.Contains("exit")) { Environment.Exit(1); } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("UNKNOWN INPUT"); Console.ResetColor(); } } while (command != "exit"); }