1: <?php
2:
3: use \Mockery as M;
4:
5: require_once 'Starship.php';
6:
7: class StarshipTest extends PHPUnit_Framework_TestCase
8: {
9: public function testEngineeringResponseToEnteringOrbit()
10: {
11: $mock = M::mock('Engineering');
12: $mock->shouldReceive('disengageWarp')->once()->ordered();
13: $mock->shouldReceive('divertPower')->with(0.40, 'sensors')->once()->ordered();
14: $mock->shouldReceive('divertPower')->with(0.30, 'auxengines')->once()->ordered();
15: $mock->shouldReceive('runDiagnosticLevel')->with(1)->once()->ordered();
16: $mock->shouldReceive('runDiagnosticLevel')->with(M::type('int'))->zeroOrMoreTimes();
17:
18: $starship = new Starship($mock);
19: $starship->enterOrbit();
20: }
21:
22: }
23: