public void BasicTest()
        {
            List<Customer> customers = new List<Customer>();
            customers.Add(new Customer(new ShorterLineStrategy(), Customer.TypeAPriorityLevel, 1, 1));

            int result = new Controller().Start(1, customers);

            Assert.AreEqual(3, result);
        }
        public void TestScenario4()
        {
            List<Customer> customers = new List<Customer>();
            customers.Add(new Customer(new ShorterLineStrategy(), Customer.TypeAPriorityLevel, 1, 2));
            customers.Add(new Customer(new ShorterLineStrategy(), Customer.TypeAPriorityLevel, 1, 3));
            customers.Add(new Customer(new ShorterLineStrategy(), Customer.TypeAPriorityLevel, 2, 1));
            customers.Add(new Customer(new ShorterLineStrategy(), Customer.TypeAPriorityLevel, 2, 1));

            int result = new Controller().Start(2, customers);

            Assert.AreEqual(9, result);
        }
        public void TestScenario2()
        {
            List<Customer> customers = new List<Customer>();
            customers.Add(new Customer(new ShorterLineStrategy(), Customer.TypeAPriorityLevel, 1, 5));
            customers.Add(new Customer(new LastCustomerHasFewerItemsStrategy(), Customer.TypeBPriorityLevel, 2, 1));
            customers.Add(new Customer(new ShorterLineStrategy(), Customer.TypeAPriorityLevel, 3, 5));
            customers.Add(new Customer(new LastCustomerHasFewerItemsStrategy(), Customer.TypeBPriorityLevel, 5, 3));
            customers.Add(new Customer(new ShorterLineStrategy(), Customer.TypeAPriorityLevel, 8, 2));

            int result = new Controller().Start(2, customers);

            Assert.AreEqual(13, result);
        }