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());
 }
Beispiel #6
0
 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());
 }