static void Main(string[] args)
        {
            // Scenario 1
            void Scenario1()
            {
                Console.WriteLine();
                Console.WriteLine("*******************      Scenario 1     *******************" + "\n");
                Console.WriteLine("******** User at floor 1. He goes UP to floor 20 **********");
                Console.WriteLine("*********** Elevator 5 from Column 2 is expected **********" + "\n");
                Battery Battery1 = new Battery(4, 66, 6, 5);

                // Initializing Elevator 1 of Column 2
                Battery1.columnList[1].elevatorList[0].currentFloor = 20;
                Battery1.columnList[1].elevatorList[0].direction    = "DOWN";
                Battery1.columnList[1].elevatorList[0].requestList.Add(5);
                // Initializing Elevator 2 of Column 2
                Battery1.columnList[1].elevatorList[1].currentFloor = 2;
                Battery1.columnList[1].elevatorList[1].direction    = "UP";
                Battery1.columnList[1].elevatorList[1].requestList.Add(15);
                // // Initializing Elevator 3 of Column 2
                Battery1.columnList[1].elevatorList[2].currentFloor = 13;
                Battery1.columnList[1].elevatorList[2].direction    = "DOWN";
                Battery1.columnList[1].elevatorList[2].requestList.Add(1);
                // // Initializing Elevator 4 of Column 2
                Battery1.columnList[1].elevatorList[3].currentFloor = 15;
                Battery1.columnList[1].elevatorList[3].direction    = "DOWN";
                Battery1.columnList[1].elevatorList[3].requestList.Add(2);
                // // Initializing Elevator 5 of Column 2
                Battery1.columnList[1].elevatorList[4].currentFloor = 6;
                Battery1.columnList[1].elevatorList[4].direction    = "DOWN";
                Battery1.columnList[1].elevatorList[4].requestList.Add(1);
                Battery1.AssignElevator(20);
            }

            // Scenario 2
            void Scenario2()
            {
                Console.WriteLine();
                Console.WriteLine("*******************      Scenario 2     *******************" + "\n");
                Console.WriteLine("******** User at floor 1. He goes UP to floor 36 **********");
                Console.WriteLine("*********** Elevator 1 from Column 3 is expected **********" + "\n");
                Battery Battery2 = new Battery(4, 66, 6, 5);

                // Initializing Elevator 1 of Column 3
                Battery2.columnList[2].elevatorList[0].currentFloor = 1;
                Battery2.columnList[2].elevatorList[0].direction    = "UP";
                Battery2.columnList[2].elevatorList[0].requestList.Add(21);
                // Initializing Elevator 2 of Column 3
                Battery2.columnList[2].elevatorList[1].currentFloor = 23;
                Battery2.columnList[2].elevatorList[1].direction    = "UP";
                Battery2.columnList[2].elevatorList[1].requestList.Add(28);
                // // Initializing Elevator 3 of Column 3
                Battery2.columnList[2].elevatorList[2].currentFloor = 33;
                Battery2.columnList[2].elevatorList[2].direction    = "DOWN";
                Battery2.columnList[2].elevatorList[2].requestList.Add(1);
                // // Initializing Elevator 4 of Column 3
                Battery2.columnList[2].elevatorList[3].currentFloor = 40;
                Battery2.columnList[2].elevatorList[3].direction    = "DOWN";
                Battery2.columnList[2].elevatorList[3].requestList.Add(24);
                // // Initializing Elevator 5 of Column 3
                Battery2.columnList[2].elevatorList[4].currentFloor = 39;
                Battery2.columnList[2].elevatorList[4].direction    = "DOWN";
                Battery2.columnList[2].elevatorList[4].requestList.Add(1);
                Battery2.AssignElevator(36);
            }

            // Scenario 3
            void Scenario3()
            {
                Console.WriteLine();
                Console.WriteLine("*******************      Scenario 3     *******************" + "\n");
                Console.WriteLine("******** User at floor 54. He goes Down to floor 1 ********");
                Console.WriteLine("*********** Elevator 1 from Column 4 is expected **********" + "\n");
                Battery Battery3 = new Battery(4, 66, 6, 5);

                // Initializing Elevator 1 of Column 3
                Battery3.columnList[3].elevatorList[0].currentFloor = 58;
                Battery3.columnList[3].elevatorList[0].direction    = "DOWN";
                Battery3.columnList[3].elevatorList[0].requestList.Add(1);
                // Initializing Elevator 2 of Column 3
                Battery3.columnList[3].elevatorList[1].currentFloor = 50;
                Battery3.columnList[3].elevatorList[1].direction    = "UP";
                Battery3.columnList[3].elevatorList[1].requestList.Add(60);
                // // Initializing Elevator 3 of Column 3
                Battery3.columnList[3].elevatorList[2].currentFloor = 46;
                Battery3.columnList[3].elevatorList[2].direction    = "DOWN";
                Battery3.columnList[3].elevatorList[2].requestList.Add(58);
                // // Initializing Elevator 4 of Column 3
                Battery3.columnList[3].elevatorList[3].currentFloor = 1;
                Battery3.columnList[3].elevatorList[3].direction    = "DOWN";
                Battery3.columnList[3].elevatorList[3].requestList.Add(54);
                // // Initializing Elevator 5 of Column 3
                Battery3.columnList[3].elevatorList[4].currentFloor = 60;
                Battery3.columnList[3].elevatorList[4].direction    = "DOWN";
                Battery3.columnList[3].elevatorList[4].requestList.Add(1);
                Battery3.RequestElevator(54);
            }

            // Scenario 4
            void Scenario4()
            {
                Console.WriteLine();
                Console.WriteLine("*******************      Scenario 4     *******************" + "\n");
                Console.WriteLine("******** User at floor -3. He goes UP to floor 1 **********");
                Console.WriteLine("*********** Elevator 4 from Column 1 is expected **********" + "\n");
                Battery Battery4 = new Battery(4, 66, 6, 5);

                // Initializing Elevator 1 of Column 1
                Battery4.columnList[0].elevatorList[0].currentFloor = -4;
                Battery4.columnList[0].elevatorList[0].direction    = "IDLE";
                //Battery2.columnList[0].elevatorList[0].requestList.Add();
                // Initializing Elevator 2 of Column 1
                Battery4.columnList[0].elevatorList[1].currentFloor = 1;
                Battery4.columnList[0].elevatorList[1].direction    = "IDLE";
                //Battery2.columnList[0].elevatorList[1].requestList.Add(28);
                // // Initializing Elevator 3 of Column 1
                Battery4.columnList[0].elevatorList[2].currentFloor = -3;
                Battery4.columnList[0].elevatorList[2].direction    = "DOWN";
                Battery4.columnList[0].elevatorList[2].requestList.Add(-5);
                // // Initializing Elevator 4 of Column 1
                Battery4.columnList[0].elevatorList[3].currentFloor = -6;
                Battery4.columnList[0].elevatorList[3].direction    = "UP";
                Battery4.columnList[0].elevatorList[3].requestList.Add(1);
                // // Initializing Elevator 5 of Column 1
                Battery4.columnList[0].elevatorList[4].currentFloor = -1;
                Battery4.columnList[0].elevatorList[4].direction    = "DOWN";
                Battery4.columnList[0].elevatorList[4].requestList.Add(-6);
                Battery4.RequestElevator(-3);
            }

            Scenario1();
            //Scenario2();
            //Scenario3();
            //Scenario4();
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            Battery mainBattery = new Battery(4, 66, 6, 5, "OnLine");


            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("---------------------[     Battery is Online         ]---------------------");


            Console.WriteLine("---------------------[ Generic repartition of Columns]---------------------");

            foreach (Column column in mainBattery.columnList)
            {
                Console.WriteLine("Column  " + column.id + " -- Floors in service =  " + String.Join("| ", column.floorList));
            }
            Console.WriteLine("\n");
            // ------------------------------ Testing Section -----------------------------------
            Console.ResetColor();
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("---------------------[ Scenario 1 ! ]---------------------");
            Console.ResetColor();

            mainBattery.columnList[1].elevatorsList[0].direction       = "down";
            mainBattery.columnList[1].elevatorsList[0].position        = 20;
            mainBattery.columnList[1].elevatorsList[0].nextDestination = 5;

            mainBattery.columnList[1].elevatorsList[1].direction       = "up";
            mainBattery.columnList[1].elevatorsList[1].position        = 3;
            mainBattery.columnList[1].elevatorsList[1].nextDestination = 15;

            mainBattery.columnList[1].elevatorsList[2].direction       = "down";
            mainBattery.columnList[1].elevatorsList[2].position        = 13;
            mainBattery.columnList[1].elevatorsList[2].nextDestination = 1;

            mainBattery.columnList[1].elevatorsList[3].direction       = "down";
            mainBattery.columnList[1].elevatorsList[3].position        = 15;
            mainBattery.columnList[1].elevatorsList[3].nextDestination = 2;

            mainBattery.columnList[1].elevatorsList[4].direction       = "down";
            mainBattery.columnList[1].elevatorsList[4].position        = 6;
            mainBattery.columnList[1].elevatorsList[4].nextDestination = 1;

            mainBattery.AssignElevator(20);

            Console.ResetColor();
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("---------------------[ Scenario 2 ! ]---------------------");
            Console.ResetColor();
            mainBattery.columnList[2].elevatorsList[0].direction       = "up";
            mainBattery.columnList[2].elevatorsList[0].position        = 1;
            mainBattery.columnList[2].elevatorsList[0].nextDestination = 21;

            mainBattery.columnList[2].elevatorsList[1].direction       = "up";
            mainBattery.columnList[2].elevatorsList[1].position        = 23;
            mainBattery.columnList[2].elevatorsList[1].nextDestination = 28;

            mainBattery.columnList[2].elevatorsList[2].direction       = "down";
            mainBattery.columnList[2].elevatorsList[2].position        = 33;
            mainBattery.columnList[2].elevatorsList[2].nextDestination = 1;

            mainBattery.columnList[2].elevatorsList[3].direction       = "down";
            mainBattery.columnList[2].elevatorsList[3].position        = 40;
            mainBattery.columnList[3].elevatorsList[3].nextDestination = 24;

            mainBattery.columnList[2].elevatorsList[4].direction       = "down";
            mainBattery.columnList[2].elevatorsList[4].position        = 39;
            mainBattery.columnList[2].elevatorsList[4].nextDestination = 1;

            mainBattery.AssignElevator(36);


            // -------------------SCENARIO 3-------------------------mainBattery
            Console.ResetColor();
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("---------------------[ Scenario 3 ! ]---------------------");
            Console.ResetColor();
            mainBattery.columnList[3].elevatorsList[0].direction       = "down";
            mainBattery.columnList[3].elevatorsList[0].position        = 58;
            mainBattery.columnList[3].elevatorsList[0].nextDestination = 1;

            mainBattery.columnList[3].elevatorsList[1].direction       = "up";
            mainBattery.columnList[3].elevatorsList[1].position        = 50;
            mainBattery.columnList[3].elevatorsList[1].nextDestination = 60;

            mainBattery.columnList[3].elevatorsList[2].direction       = "up";
            mainBattery.columnList[3].elevatorsList[2].position        = 46;
            mainBattery.columnList[3].elevatorsList[2].nextDestination = 58;

            mainBattery.columnList[3].elevatorsList[3].direction       = "up";
            mainBattery.columnList[3].elevatorsList[3].position        = 1;
            mainBattery.columnList[3].elevatorsList[3].nextDestination = 54;

            mainBattery.columnList[3].elevatorsList[4].direction       = "down";
            mainBattery.columnList[3].elevatorsList[4].position        = 60;
            mainBattery.columnList[3].elevatorsList[4].nextDestination = 1;

            mainBattery.RequestElevator(54);


            // -------------------SCENARIO 4-------------------------
            Console.ResetColor();
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("---------------------[ Scenario 4 ! ]---------------------");
            Console.ResetColor();

            mainBattery.columnList[0].elevatorsList[0].direction       = "Idle";
            mainBattery.columnList[0].elevatorsList[0].position        = -4;
            mainBattery.columnList[0].elevatorsList[0].nextDestination = 0;

            mainBattery.columnList[0].elevatorsList[1].direction       = "Idle";
            mainBattery.columnList[0].elevatorsList[1].position        = 1;
            mainBattery.columnList[0].elevatorsList[1].nextDestination = 0;

            mainBattery.columnList[0].elevatorsList[2].direction       = "down";
            mainBattery.columnList[0].elevatorsList[2].position        = -3;
            mainBattery.columnList[0].elevatorsList[2].nextDestination = -5;

            mainBattery.columnList[0].elevatorsList[3].direction       = "up";
            mainBattery.columnList[0].elevatorsList[3].position        = -6;
            mainBattery.columnList[0].elevatorsList[3].nextDestination = 1;

            mainBattery.columnList[0].elevatorsList[4].direction       = "down";
            mainBattery.columnList[0].elevatorsList[4].position        = -1;
            mainBattery.columnList[0].elevatorsList[4].nextDestination = -6;

            mainBattery.RequestElevator(-3);

            Console.Write("-----------------------[ END OF TESTING ! ]---------------------");
        }