Пример #1
0
 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);
 }
Пример #2
0
    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);
    }