izzum\statemachine\StateTest::shouldReturnTransitionForEvent PHP Method

shouldReturnTransitionForEvent() public method

    public function shouldReturnTransitionForEvent()
    {
        $a = new State('a');
        $b = new State('b');
        $c = new State('c');
        $d = new State('d');
        $tab = new Transition($a, $b);
        $tac = new Transition($a, $c);
        $tbc = new Transition($b, $c);
        $tba = new Transition($b, $a, 'b-a');
        $tbb = new Transition($b, $b, 'event-self');
        // self transition
        $tda = new Transition($d, $a, 'possible-to-handle-more-than-one-from-d');
        $tdc = new Transition($d, $c, 'possible-to-handle-more-than-one-from-d');
        $this->assertEquals(array($tba), $b->getTransitionsTriggeredByEvent('b-a'));
        $this->assertEquals(array($tbb), $b->getTransitionsTriggeredByEvent('event-self'));
        $this->assertEquals(array($tbc), $b->getTransitionsTriggeredByEvent('b_to_c'), 'default name is transition name');
        $this->assertEquals(array($tab), $a->getTransitionsTriggeredByEvent('a_to_b'), 'default name is transition name');
        $this->assertEquals(array($tda, $tdc), $d->getTransitionsTriggeredByEvent('possible-to-handle-more-than-one-from-d'));
        $this->assertEquals(array(), $a->getTransitionsTriggeredByEvent('b-a'));
        $this->assertEquals(array(), $a->getTransitionsTriggeredByEvent('even-self'));
        $this->assertEquals(array(), $a->getTransitionsTriggeredByEvent('event-self'));
        $this->assertEquals(array(), $b->getTransitionsTriggeredByEvent('bogus'));
        $this->assertEquals(array(), $a->getTransitionsTriggeredByEvent('bogus'));
        $this->assertEquals(array(), $c->getTransitionsTriggeredByEvent('bogus'));
        $this->assertEquals(array(), $c->getTransitionsTriggeredByEvent('event-self'));
        $this->assertEquals(array(), $c->getTransitionsTriggeredByEvent('b-a'));
    }