public void Constructor_WhenNoJoinTypeIsSpecified_ShouldConstructObjectWithNoneJoinType() { string leftPredicate = _fixture.Create <string>(); OperatorType operatorType = _fixture.Create <OperatorType>(); string rightPredicate = _fixture.Create <string>(); RuleItem ruleItem = new ConstantRuleItem(leftPredicate, operatorType, rightPredicate); ruleItem.LeftPredicate.Should().Be(leftPredicate); ruleItem.OperatorType.Should().Be(operatorType); ruleItem.RightPredicate.Should().Be(rightPredicate); ruleItem.JoinType.Should().Be(JoinType.None); ruleItem.IsRightPredicateConstant.Should().BeTrue(); }
public void AddRule_WhenAnExistingRuleIsAddedToTheRuleSet_ShouldNotDuplicateRule(RuleSet ruleSet, Rule rule) { "Given a valid rule set" .x(() => { string name = _fixture.Create <string>(); string description = _fixture.Create <string>(); string version = _fixture.Create <string>(); ruleSet = new RuleSet(name, description, version); }); "And the rule set has a rule" .x(() => { string code = _fixture.Create <string>(); string message = _fixture.Create <string>(); rule = new Rule(code, message); string leftPredicate = _fixture.Create <string>(); OperatorType operatorType = OperatorType.Equal; string rightPredicate = _fixture.Create <string>(); RuleItem ruleItem = new ConstantRuleItem(leftPredicate, operatorType, rightPredicate); rule.AddRuleItem(ruleItem); ruleSet.AddRule(rule); }); "When the existing rule is added to the rule set" .x(() => { ruleSet.AddRule(rule); }); "Then the rule should not be duplicated in the rule set." .x(() => { ruleSet.Rules.Should().HaveCount(1); }); }
public void RemoveRule_WhenARuleIsRemovedFromARuleSet_ShouldUpdateListOfRules(RuleSet ruleSet, Rule rule) { "Given a valid rule set" .x(() => { string name = _fixture.Create <string>(); string description = _fixture.Create <string>(); string version = _fixture.Create <string>(); ruleSet = new RuleSet(name, description, version); }); "And the rule set has a rule" .x(() => { string code = _fixture.Create <string>(); string message = _fixture.Create <string>(); rule = new Rule(code, message); string leftPredicate = _fixture.Create <string>(); OperatorType operatorType = OperatorType.Equal; string rightPredicate = _fixture.Create <string>(); RuleItem ruleItem = new ConstantRuleItem(leftPredicate, operatorType, rightPredicate); rule.AddRuleItem(ruleItem); ruleSet.AddRule(rule); }); "When the existing rule is removed" .x(() => { ruleSet.RemoveRule(rule); }); "Then the list of rules in the rule set should be updated." .x(() => { ruleSet.Rules.Should().HaveCount(0); }); }
public void IsValid_WhenARuleSetIsValid_ShouldReturnTrue() { string name = _fixture.Create <string>(); string description = _fixture.Create <string>(); string version = _fixture.Create <string>(); RuleSet ruleSet = new RuleSet(name, description, version); string code = _fixture.Create <string>(); string message = _fixture.Create <string>(); Rule rule = new Rule(code, message); string leftPredicate = _fixture.Create <string>(); OperatorType operatorType = OperatorType.Equal; string rightPredicate = _fixture.Create <string>(); RuleItem ruleItem = new ConstantRuleItem(leftPredicate, operatorType, rightPredicate); rule.AddRuleItem(ruleItem); ruleSet.AddRule(rule); ruleSet.IsValid().Should().BeTrue(); }