Esempio n. 1
0
 def test_loading_to_moving(self):
     elevator = Elevator(lobby_load_delay=1, load_delay=1, verbosity="off")
     elevator.simulate_tick([Call(origin=1, destination=2, size=1, init_time=1)])
     self.assertEqual(elevator.state, 'LOADING')
     elevator.simulate_tick([])
     elevator.simulate_tick([])
     self.assertEqual(elevator.state, 'MOVING')
Esempio n. 2
0
 def test_capacity(self):
     elevator = Elevator(max_capacity=10, lobby_load_delay=1, load_delay=1, verbosity="off")
     elevator.simulate_tick([
         Call(origin=1, destination=2, size=9, init_time=1),
         Call(origin=1, destination=2, size=2, init_time=1),
     ])
     self.assertEqual(elevator.state, 'LOADING')
     elevator.simulate_tick([])
     self.assertEqual(elevator.state, 'LOADING')
     elevator.simulate_tick([])
     self.assertEqual(elevator.state, 'MOVING')
     self.assertTrue(elevator.passenger_count() <= elevator.max_capacity)
     elevator.simulate_tick([])
     self.assertEqual(elevator.state, 'LOADING')
     elevator.simulate_tick([])
     self.assertEqual(elevator.state, 'LOADING')
     elevator.simulate_tick([])
     self.assertEqual(elevator.state, 'IDLE')
     self.assertEqual(elevator.passenger_count(), 0)
     elevator.simulate_tick([])
     self.assertEqual(elevator.state, 'MOVING')
     elevator.simulate_tick([])
     self.assertEqual(elevator.state, 'LOADING')
Esempio n. 3
0
 def test_is_going_up(self):
     call = Call(origin=1, destination=5, size=1, init_time=1)
     self.assertTrue(call.is_going_up())
Esempio n. 4
0
 def test_idle_to_moving(self):
     elevator = Elevator(verbosity="off")
     elevator.simulate_tick([Call(origin=2, destination=1, size=1, init_time=1)])
     self.assertEqual(elevator.state, 'MOVING')
Esempio n. 5
0
 def test_to_string(self):
     call = Call(origin=1, destination=5, size=1, init_time=1)
     self.assertEqual(call.to_string(), 'init time: 1, origin: 1, dest: 5, size: 1')
Esempio n. 6
0
 def test_arrive(self):
     call = Call(origin=1, destination=5, size=1, init_time=1)
     call.board(5)
     call.arrive(10)
     self.assertEqual(call.state, 'ARRIVED')
     self.assertEqual(call.arrival_time, 10)
Esempio n. 7
0
 def test_board(self):
     call = Call(origin=1, destination=5, size=1, init_time=1)
     call.board(5)
     self.assertEqual(call.state, 'BOARDED')
     self.assertEqual(call.board_time, 5)
Esempio n. 8
0
    def test_direction(self):
        upcall = Call(origin=1, destination=5, size=1, init_time=1)
        self.assertEqual(upcall.direction(), 1)

        downcall = Call(origin=10, destination=5, size=1, init_time=1)
        self.assertEqual(downcall.direction(), -1)