public function testActions() { $doorFSM = new testFSMClass(); $this->assertFalse($doorFSM->actionTracer->action2Passed); $doorFSM->process(testFSMClass::CLOSE); $this->assertTrue($doorFSM->actionTracer->action2Passed); $this->assertFalse($doorFSM->actionTracer->action8Passed); $doorFSM->process(testFSMClass::LOCK); $this->assertTrue($doorFSM->actionTracer->action8Passed); $this->assertFalse($doorFSM->actionTracer->action4Passed); $doorFSM->process(testFSMClass::UNLOCK); $this->assertTrue($doorFSM->actionTracer->action4Passed); $this->assertFalse($doorFSM->actionTracer->action6Passed); $doorFSM->process(testFSMClass::OPEN); $this->assertTrue($doorFSM->actionTracer->action6Passed); }
public function testActions() { $doorFSM = new testFSMClass(); $this->assertFalse($doorFSM->actionTracer->action2Passed /* 'closed' state entry action*/); $doorFSM->process(testFSMClass::CLOSE); $this->assertTrue($doorFSM->actionTracer->action2Passed); $this->assertFalse($doorFSM->actionTracer->action8Passed /* 'closed' state exit action*/); $doorFSM->process(testFSMClass::LOCK); $this->assertTrue($doorFSM->actionTracer->action8Passed); $this->assertFalse($doorFSM->actionTracer->action4Passed /* 'closed&locked' state +'unlock' input action */); $doorFSM->process(testFSMClass::UNLOCK); $this->assertTrue($doorFSM->actionTracer->action4Passed); $this->assertFalse($doorFSM->actionTracer->action6Passed /* 'locked' -> 'opened' transition action action */); $doorFSM->process(testFSMClass::OPEN); $this->assertTrue($doorFSM->actionTracer->action6Passed); }