Elevator Assessment Test
Instructions
First there is an elevator class., (*1)
It has a direction (up, down, stand, maintenance), a current floor and a list of floor requests sorted in the direction., (*2)
Each elevator has a set of signals: Alarm, Door open, Door close., (*3)
The scheduling will be like:, (*4)
- If available pick a standing elevator for this floor.
- Else pick an elevator moving to this floor.
- Else pick a standing elevator on another floor.
Sample data:
* Elevator standing in first floor
* Request from 6th floor go down to ground(first floor).
* Request from 5th floor go up to 7th floor
* Request from 3rd floor go down to ground
* Request from ground go up to 7th floor.
* Floor 2 and 4 are in maintenance., (*5)
Installation
Install Composer., (*6)
Terminal:, (*7)
$ git clone git@github.com:AustinW/elevator.git
$ cd elevator
$ php composer.phar install
Testing
$ php composer.phar phpunit
Or:, (*8)
$ phpunit