예제 #1
0
 public function testAllowTransition()
 {
     $this->assertFalse($this->step->hasAllowedTransitions());
     $this->step->allowTransition('test');
     $this->assertTrue($this->step->hasAllowedTransitions());
     $this->assertEquals(array('test'), $this->step->getAllowedTransitions(), 'Transition was not allowed');
     // Check duplicate
     $this->step->allowTransition('test');
     $this->assertEquals(array('test'), $this->step->getAllowedTransitions(), 'Transition was allowed more than once');
     // Check allowing more than one transition
     $this->step->allowTransition('test2');
     $this->assertEquals(array('test', 'test2'), $this->step->getAllowedTransitions(), 'Second transition was not allowed');
     // Check disallow
     $this->step->disallowTransition('test2');
     $this->assertEquals(array('test'), $this->step->getAllowedTransitions(), 'Transition was not disallowed');
     // Check isAllowed
     $this->assertTrue($this->step->isAllowedTransition('test'), 'Expected transition not allowed');
     $this->assertFalse($this->step->isAllowedTransition('test2'), 'Unexpected transition allowed');
 }