示例#1
0
        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);
        }
示例#3
0
        //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");
        }