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(); }
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 ! ]---------------------"); }