public function testActionCallable() { $rule = new Rule('Rule'); $ruleResult = new RuleResult($rule, 0, 'testNeedRoleName', 'testNeedResourceName'); $self = $this; $isCalled = false; $rule->setAction(function (RuleResult $r) use(&$isCalled, $self) { $isCalled = true; $self->assertEquals('testNeedRoleName', $r->getNeedRoleName()); $self->assertEquals('testNeedResourceName', $r->getNeedResourceName()); $self->assertEquals(0, $r->getPriority()); return true; }); $this->assertTrue($rule->getAction($ruleResult)); $this->assertTrue($isCalled); }