Esempio n. 1
0
        public void ConditionalWithConstantRuleUsingFactory(string valueToCheck, string expectedOutput)
        {
            var trueRule =
                ConstantRulesFactory.CreateConstantRule <string, string>("element is present in the collection");
            var falseRule =
                ConstantRulesFactory.CreateConstantRule <string, string>("element is not present in the collection");

            var searchList = new List <string> {
                "one", "two", "three", "four", "five", "six"
            };
            var containsRule =
                ContainsValueRuleFactory.CreateContainsValueRule(searchList, "System.StringComparer",
                                                                 "OrdinalIgnoreCase");

            var containsTextRule =
                ConditionalRulesFactory.CreateConditionalFuncRule <string, string>(containsRule, trueRule, falseRule);

            var compileResult = containsTextRule.Compile();

            compileResult.Should().BeTrue();
            _testOutputHelper.WriteLine($"{nameof(containsTextRule)}:{Environment.NewLine}" +
                                        $"{containsTextRule.ExpressionDebugView()}");

            var ruleResult = containsTextRule.Execute(valueToCheck);

            _testOutputHelper.WriteLine($"expected: {expectedOutput} - actual: {ruleResult}");
            ruleResult.Should().BeEquivalentTo(expectedOutput);
        }
Esempio n. 2
0
        public void CreateComparerOnTheFlyUsingReflectionUsingFactory()
        {
            var equalityComparerPropertyName = "OrdinalIgnoreCase";
            var equalityComparerClassName    = "System.StringComparer";
            var collectionToSearch           = new List <string> {
                "one", "two", "three", "four", "five", "six"
            };
            var containsRule = ContainsValueRuleFactory.CreateContainsValueRule <string>(collectionToSearch,
                                                                                         equalityComparerClassName, equalityComparerPropertyName);

            var compileResult = containsRule.Compile();

            compileResult.Should().BeTrue();
            _testOutputHelper.WriteLine($"{nameof(containsRule)}:{Environment.NewLine}" +
                                        $"{containsRule.ExpressionDebugView()}");

            var a1 = containsRule.ContainsValue("One");

            a1.Should().BeTrue();
            var a2 = containsRule.ContainsValue("tWo");

            a2.Should().BeTrue();
            var a7 = containsRule.ContainsValue("seven");

            a7.Should().BeFalse();
        }
Esempio n. 3
0
        public void ContainsValueTestForIntCollectionUsingFactory(int valueToSearch, bool expectedResult)
        {
            var containsRule = ContainsValueRuleFactory.CreateContainsValueRule(new List <int> {
                1, 2, 3, 4, 5, 6
            },
                                                                                null, null);

            var compileResult = containsRule.Compile();

            compileResult.Should().BeTrue();
            _testOutputHelper.WriteLine($"{nameof(containsRule)}:{Environment.NewLine}" +
                                        $"{containsRule.ExpressionDebugView()}");

            var containsValue = containsRule.ContainsValue(valueToSearch);

            _testOutputHelper.WriteLine($"expected: {expectedResult} - actual: {containsValue}");
            containsValue.Should().Be(expectedResult);
        }
Esempio n. 4
0
        public void ContainsValueTestCaseSensitiveUsingFactory(string valueToSearch, bool expectedResult)
        {
            IList <string> collectionToSearch = new List <string> {
                "one", "two", "three", "four", "five", "six"
            };
            var containsRule = ContainsValueRuleFactory.CreateContainsValueRule(collectionToSearch, null, null);

            var compileResult = containsRule.Compile();

            compileResult.Should().BeTrue();
            _testOutputHelper.WriteLine($"{nameof(containsRule)}:{Environment.NewLine}" +
                                        $"{containsRule.ExpressionDebugView()}");

            var containsValue = containsRule.ContainsValue(valueToSearch);

            _testOutputHelper.WriteLine($"expected: {expectedResult} - actual: {containsValue}");
            containsValue.Should().Be(expectedResult);
        }
Esempio n. 5
0
        public void IfValueContainsReturnDiffValue2UsingFactory(string searchValue, string expectedValue)
        {
            var collectionToSearch = new List <string> {
                "one", "two", "three", "four", "five", "six"
            };
            var containsValueRule = ContainsValueRuleFactory.CreateContainsValueRule(collectionToSearch,
                                                                                     "System.StringComparer", "OrdinalIgnoreCase");

            var trueRule              = ConstantRulesFactory.CreateConstantRule <string, string>("six-six-six");
            var falseRule             = SelfReturnRuleFactory.CreateSelfReturnRule <string>();
            var valueReplacementIfBad = ConditionalRulesFactory.CreateConditionalFuncRule <string, string>(containsValueRule,
                                                                                                           trueRule, falseRule);
            var compileResult = valueReplacementIfBad.Compile();

            compileResult.Should().BeTrue();
            _testOutputHelper.WriteLine($"{nameof(valueReplacementIfBad)}:{Environment.NewLine}" +
                                        $"{valueReplacementIfBad.ExpressionDebugView()}");

            var ruleResult = valueReplacementIfBad.Execute(searchValue);

            _testOutputHelper.WriteLine($"expected: {expectedValue} - actual: {ruleResult}");
            ruleResult.Should().Be(expectedValue);
        }