Metabor\Statemachine\Factory\AbstractProcessDetectorTest::testWillAlwaysReturnTheSameProcess PHP Method

testWillAlwaysReturnTheSameProcess() public method

    public function testWillAlwaysReturnTheSameProcess()
    {
        $processA = new Process('A', new State('new'));
        $processB = new Process('B', new State('new'));
        $detector = $this->getMockForAbstractClass('Metabor\\Statemachine\\Factory\\AbstractNamedProcessDetector');
        $detector->expects($this->atLeastOnce())->method('detectProcessName')->willReturnCallback(array($this, 'detectProcessName'));
        $detector->addProcess($processA);
        $detector->addProcess($processB);
        $subject = new \stdClass();
        $subject->process = 'A';
        $result = $detector->detectProcess($subject);
        $this->assertSame($processA, $result);
        $subject = new \stdClass();
        $subject->process = 'B';
        $result = $detector->detectProcess($subject);
        $this->assertSame($processB, $result);
    }