public function testStateHelpersAreCorrect() { DynamicModel::clearDynamicMethods(); $machine = with(new StateMachine('DynamicModel'))->setStateAttributeName('status'); $machine->addState('stopped'); $machine->addState('running'); $obj = new DynamicModel(); $obj->status = 'stopped'; $this->assertTrue($obj->isStopped()); $this->assertFalse($obj->isRunning()); $obj->status = 'running'; $this->assertFalse($obj->isStopped()); $this->assertTrue($obj->isRunning()); }