示例#1
0
        public void Last_Register_Is_Always_A_Training_Register(int totalRegisters)
        {
            var registerInitializer = new RegisterInitializer(totalRegisters);
            var registers           = registerInitializer.Initialize();
            var register            = registers[registers.Count - 1];

            Assert.IsInstanceOf(typeof(TrainingRegister), register);
        }
示例#2
0
        public int GroceryStore_Executes_With_Correctness(int totalRegisters,
                                                          params string[] rawCustomerDetails)
        {
            var registerInitializer   = new RegisterInitializer(totalRegisters);
            var customerInitializer   = new CustomerInitializer(rawCustomerDetails);
            var customerQueueResolver = new CustomerQueueResolver();

            var store = new GroceryStore(registerInitializer,
                                         customerInitializer,
                                         customerQueueResolver);

            store.Start();

            return(store.MinutesOpen);
        }
示例#3
0
        static void Main(string[] args)
        {
            var inputFilePath = args.Length > 0 ? args[0] : "input.txt";
            var lines         = File.ReadAllLines(inputFilePath);

            var registerInitializer   = new RegisterInitializer(Convert.ToInt32(lines[0]));
            var customerInitializer   = new CustomerInitializer(lines.Skip(1).ToArray());
            var customerQueueResolver = new CustomerQueueResolver();

            var store = new GroceryStore(registerInitializer,
                                         customerInitializer,
                                         customerQueueResolver);

            store.Start();

            Console.WriteLine("Finished at: t={0} minutes", store.MinutesOpen);

            Console.Read();
        }