コード例 #1
0
 /**
  * @test
  */
 public function hasRuleOfType()
 {
     $rule_1 = new BinaryRule(true);
     $rule_2 = new AuthenticatedPercentageRule(20, 'some_feature');
     $ruleset = new Ruleset();
     $this->assertFalse($ruleset->hasRuleOfType(BinaryRule::RULE_NAME));
     $this->assertFalse($ruleset->hasRuleOfType(AuthenticatedPercentageRule::RULE_NAME));
     $ruleset->addRule($rule_1);
     $this->assertTrue($ruleset->hasRuleOfType(BinaryRule::RULE_NAME));
     $ruleset->addRule($rule_2);
     $this->assertTrue($ruleset->hasRuleOfType(BinaryRule::RULE_NAME));
     $this->assertTrue($ruleset->hasRuleOfType(AuthenticatedPercentageRule::RULE_NAME));
     $this->assertFalse($ruleset->hasRuleOfType(IdentifierRule::RULE_NAME));
 }
コード例 #2
0
 /**
  * {@inheritdoc}
  */
 public function getRuleset($feature)
 {
     if (isset($this->_generated_rulesets[$feature])) {
         return $this->_generated_rulesets[$feature];
     }
     $ruleset = new Ruleset();
     if (!isset($this->_config[$feature])) {
         return $ruleset;
     }
     $raw_rules = $this->_config[$feature];
     foreach ($raw_rules as $rule_info) {
         $rule = RuleFactory::create($rule_info['type'], $rule_info['params'], $feature);
         $ruleset->addRule($rule);
     }
     // foreach raw_rules
     $this->_generated_rulesets[$feature] = $ruleset;
     return $ruleset;
 }