Open seurdge opened 5 years ago
Exemple de scénario qui plante
battery.columnList[2].elevatorList[0].currentFloor = 45;
battery.columnList[2].elevatorList[0].direction = "DOWN";
battery.columnList[2].elevatorList[0].status = "MOVING"; // MOVING or IDLE
battery.columnList[2].elevatorList[0].queue.Add(1);
battery.columnList[2].elevatorList[1].currentFloor = 2;
battery.columnList[2].elevatorList[1].direction = "UP";
battery.columnList[2].elevatorList[1].status = "MOVING"; // MOVING or IDLE
battery.columnList[2].elevatorList[1].queue.Add(45);
battery.columnList[2].elevatorList[2].currentFloor = 55;
battery.columnList[2].elevatorList[2].direction = "UP";
battery.columnList[2].elevatorList[2].status = "MOVING"; // MOVING or IDLE
battery.columnList[2].elevatorList[2].queue.Add(61);
battery.columnList[2].elevatorList[3].currentFloor = 50;
battery.columnList[2].elevatorList[3].direction = "DOWN";
battery.columnList[2].elevatorList[3].status = "MOVING"; // MOVING or IDLE
battery.columnList[2].elevatorList[3].queue.Add(1);
battery.columnList[2].elevatorList[4].currentFloor = 63;
battery.columnList[2].elevatorList[4].direction = "DOWN";
battery.columnList[2].elevatorList[4].status = "MOVING"; // MOVING or IDLE
battery.columnList[2].elevatorList[4].queue.Add(46);
Elevator elevator = battery.columnList[2].requestElevator(1, "UP");
Console.WriteLine("USED ELEVATOR : " + elevator.id);
Le programme plante sur un null lorsque les ascenseurs se dirige dans la direction opposé à l'appelant ( ex: demande 1 up et tous les ascenseurs descendent ) ou si ceux de la mêmedirection sont plus haut que l'appelant
Problème dans la logique du FindBestElevator - Manque de tests !
Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object. at RocketElevatorCSharpCommercialClassic.Column.requestElevator(Int32 requestedFloor, String direction) in /Users/seurdge/projects/Codeboxx/corrections/cohorte3/maxime_langlois/odyssey_semaine_3/Rocket_Elevators_Controllers/CSharp/Column.cs:line 152 at RocketElevatorCSharpCommercialClassic.Program.Main() in /Users/seurdge/projects/Codeboxx/corrections/cohorte3/maxime_langlois/odyssey_semaine_3/Rocket_Elevators_Controllers/CSharp/Program.cs:line 62