Ejemplo n.º 1
0
        public void NameMatchesRegExToAndFromJson(string nameToUse, string regExToUse, bool expectedResult)
        {
            var rule = new RegExRule <Game>
            {
                ObjectToValidate = "Name",
                RegExToUse       = regExToUse
            };

            var compileRuleResult = rule.Compile();

            compileRuleResult.Should().BeTrue();
            _testOutputHelper.WriteLine($"{nameof(rule)}:{Environment.NewLine}{rule.ExpressionDebugView()}");

            var game = new Game {
                Name = nameToUse
            };

            var executeResult = rule.IsMatch(game);

            _testOutputHelper.WriteLine($"executeResult={executeResult}; expectedResult={expectedResult} for nameToUse={nameToUse}");
            executeResult.Should().Be(expectedResult);

            // convert to json
            var ruleJson = JsonConvert.SerializeObject(rule, new JsonConverterForRule());

            _testOutputHelper.WriteLine($"{nameof(ruleJson)}:{Environment.NewLine}{ruleJson}");
            // re-hydrate from json
            var ruleFromJson  = JsonConvert.DeserializeObject <RegExRule <Game> >(ruleJson, new JsonConverterForRule());
            var compileResult = ruleFromJson.Compile();

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

            game.Name     = nameToUse;
            executeResult = ruleFromJson.IsMatch(game);
            _testOutputHelper.WriteLine($"executeResult={executeResult}; expectedResult={expectedResult} for nameToUse={nameToUse}");
            executeResult.Should().Be(expectedResult);
        }
Ejemplo n.º 2
0
        public void NameMatchesRegEx(string nameToUse, string regExToUse, bool expectedResult)
        {
            var alphaRule = new RegExRule <Game>
            {
                ObjectToValidate = "Name",
                RegExToUse       = regExToUse
            };

            var compileRuleResult = alphaRule.Compile();

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

            var game = new Game {
                Name = nameToUse
            };

            var executeResult = alphaRule.IsMatch(game);

            _testOutputHelper.WriteLine($"executeResult={executeResult}; expectedResult={expectedResult} " +
                                        $"for nameToUse={nameToUse}");
            executeResult.Should().Be(expectedResult);
        }