public function testIsApplicableTo() { $badgeRule = new BadgeRule(); $badgeRule->setResource(new Text()); $resourceConstraint = new ResourceConstraint(); $this->assertTrue($resourceConstraint->isApplicableTo($badgeRule)); }
public function testIsApplicableTo() { $badgeRule = new BadgeRule(); $badgeRule->setUserType(1)->setUser(new User()); $receiverConstraint = new ReceiverConstraint(); $this->assertTrue($receiverConstraint->isApplicableTo($badgeRule)); }
public function testIsApplicableTo() { $badgeRule = new BadgeRule(); $badgeRule->setUser(new User())->setAction(uniqid()); $actionConstraint = new ActionConstraint(); $this->assertTrue($actionConstraint->isApplicableTo($badgeRule)); }
public function testValidateEnoughOccurence() { $badgeRule = new BadgeRule(); $badgeRule->setOccurrence(2); $associatedLogs = array(new Log(), new Log(), new Log()); $occurenceConstraint = new OccurenceConstraint(); $occurenceConstraint->setRule($badgeRule)->setAssociatedLogs($associatedLogs); $this->assertTrue($occurenceConstraint->validate()); }
public function testValidateNoLogWrongBadge() { $badge = new Badge(); $badge->setId(rand(PHP_INT_MAX / 2 + 1, PHP_INT_MAX)); $rule = new BadgeRule(); $rule->setBadge($badge); $log = new Log(); $log->setDetails(array('badge' => array('id' => rand(0, PHP_INT_MAX / 2)))); $badgeConstraint = new BadgeConstraint(); $badgeConstraint->setRule($rule)->setAssociatedLogs(array($log)); $this->assertFalse($badgeConstraint->validate()); }
public function validateWithTwoRuleProvider() { $badge = new Badge(); $user = new User(); $action = uniqid(); $action2 = uniqid(); $log = new Log(); $rule = new BadgeRule(); $rule->setAction($action)->setUserType(0); $rule2 = new BadgeRule(); $rule2->setAction($action2)->setUserType(0); $badge->setRules(array($rule, $rule2)); $validateRule = array('validRules' => 0, 'rules' => array()); $validateRule2 = array('validRules' => 1, 'rules' => array(array('rule' => $rule, 'logs' => array($log)))); $validateRule3 = array('validRules' => 1, 'rules' => array(array('rule' => $rule2, 'logs' => array($log)))); $validateRule4 = array('validRules' => 2, 'rules' => array(array('rule' => $rule, 'logs' => array($log)), array('rule' => $rule2, 'logs' => array($log)))); return array(array($badge, $user, $action, $action2, array(), array(), $validateRule), array($badge, $user, $action, $action2, array($log), array(), $validateRule2), array($badge, $user, $action, $action2, array(), array($log), $validateRule3), array($badge, $user, $action, $action2, array($log), array($log), $validateRule4)); }
public function testValidateTwoRightOneWrongLogLogResultSuperiorEqual() { $result = rand(0, PHP_INT_MAX / 2); $badgeRule = new BadgeRule(); $badgeRule->setOccurrence(1)->setResult($result)->setResultComparison(4); $log = new Log(); $log->setDetails(array('result' => $result + rand(0, PHP_INT_MAX / 2))); $log2 = new Log(); $log2->setDetails(array('result' => $result - 1)); $log3 = new Log(); $log3->setDetails(array('result' => $result + rand(0, PHP_INT_MAX / 2))); $associatedLogs = array($log, $log2, $log3); $resultConstraint = new ResultConstraint(); $resultConstraint->setRule($badgeRule)->setAssociatedLogs($associatedLogs); $this->assertTrue($resultConstraint->validate()); }