public function testSequentialProcess() { $a = new A(); $b = new B(); $sequentialProcess = new TestSequentialProcess($a, $b); $sequentialProcess->run('stepA', array('b' => 'x')); $this->assertEquals('stepB', $sequentialProcess->getNextStep()); $this->assertEquals(array('subStep' => 1), $sequentialProcess->getNextParams()); $this->assertEquals('Step B Message', $sequentialProcess->getNextMessage()); }