createComplexStateMachineDefinition(); $net = new StateMachine($definition); $subject = new \stdClass(); // If you are in place "a" you should be able to apply "t1" $subject->marking = 'a'; $this->assertTrue($net->can($subject, 't1')); $subject->marking = 'd'; $this->assertTrue($net->can($subject, 't1')); $subject->marking = 'b'; $this->assertFalse($net->can($subject, 't1')); } public function testCanWithMultipleTransition() { $definition = $this->createComplexStateMachineDefinition(); $net = new StateMachine($definition); $subject = new \stdClass(); // If you are in place "b" you should be able to apply "t1" and "t2" $subject->marking = 'b'; $this->assertTrue($net->can($subject, 't2')); $this->assertTrue($net->can($subject, 't3')); } } __halt_compiler();----SIGNATURE:----M3MQjTDUdsrg2Qn1FXlgoHwrgKF9qbUcoDQFeHZ45TwKZrOvcC6PSuw1W3dGPUqlTgel+sVZDGZZAk44wvFzvy8hFmjYZJggNgw73DgZxpbrp4J92JMPIhqUiitk5p0cL31B0BgX9+/FAYa54+WPWw7+/sIELb7NRtlnNner9yCqB2LWC1NMWG/Lgnri2cbZFpDgb5mgi6FsjnqIv2ML3tei1Q8aduxo/+uEkQ0OQhC6FoTBvG5EjXhK08efCnBCER3ZSbGS3K2862a5tT/WlmdZA5nnTizZByDoEPA0xWpfEmvRyGXr9aZvBwK2lWfMnEaz07UJd35ZbA8/wGWr7HyFRhcmvejRT8qyHfeOq31NfIKB/ZTkuIp3e9b2jMQspoKILdxJd9pXeNIVr6w3Rfre6JpultjculTSzkkNb8XEURw9LuOHlBW0ZmP8AiZ2FNzeKMJpTQcyxCshaLTYDisLIeI8fK31pNgxM1cxug84nGDN1XYI4yJ2UIFoJdZQsSdHi2robLjkxSTvflSP1KikBUFVHjsvwacdWwHfqDi4sYE0CtP9pJv7OFCwfKOJ5JMk5xng3Z0iTLNH4uyaMFuXe/6hPuTOVByI4bOTFo+ECTcO33cp660LyqX36ftEeOg4KDcq42JJvVT5Oo2XeRF8lFOUDjh0baJLYbQShQE=----ATTACHMENT:----Njc5MTg2NTUwMTI5NjAxMyA0OTczMTY0MDc0MzM1MzcxIDI4NjY5MTY0NTM2NTk2Mzc=