public void GivenAValidRule_WhenTheRuleIsVerified_ThenTheResult_ShouldBeSuccessfull()
        {
            //Given
            var rule = new ScriptedRuleWrapper("dummy", new[] { "" });

            //When
            var(success, diagnostics) = rule.Verify();

            //Then
            Assert.True(success);
            Assert.Empty(diagnostics);
        }
        public void GivenAnNotParsableRule_WhenTheRuleIsVerified_ThenTheResult_ShouldNotBeSuccessfull()
        {
            //Given
            var rule = new ScriptedRuleWrapper("dummy", new[] { ".invalid=directive" });

            //When
            var(success, diagnostics) = rule.Verify();

            //Then
            Assert.False(success);
            Assert.Empty(diagnostics);
        }
Beispiel #3
0
        public void GivenAnInvalidRule_WhenTheRuleIsVerified_ThenTheResult_ShouldNotBeSuccessfull()
        {
            //Given
            var rule = new ScriptedRuleWrapper("Test", new[] { "(" });

            //When
            var result = rule.Verify();

            //Then
            Assert.False(result.success);
            Assert.NotEmpty(result.diagnostics);
        }
Beispiel #4
0
        public void GivenTheSameRule_WhenTheRuleIsParsedThrice_ThenTheLogger_LogsThatWasFoundInCache()
        {
            //Given
            var    logger   = Substitute.For <IAggregatorLogger>();
            string ruleName = "dummy";
            var    ruleCode = new[] { "" };

            //When
            _ = new ScriptedRuleWrapper(ruleName, ruleCode, logger);
            _ = new ScriptedRuleWrapper(ruleName, ruleCode, logger);
            _ = new ScriptedRuleWrapper(ruleName, ruleCode, logger);

            //Then
            logger.Received(1).WriteVerbose("Rule dummy was not in cache: compiling");
            logger.Received(2).WriteVerbose("Rule dummy found in cache");
        }
Beispiel #5
0
        public void GivenARule_WhenTheRuleChanges_ThenTheLogger_LogsThatWasNotFoundInCache()
        {
            //Given
            var    logger    = Substitute.For <IAggregatorLogger>();
            string ruleName  = "dummy";
            var    ruleCode1 = new[] { "/* v1 */" };
            var    ruleCode2 = new[] { "/* v2 */" };

            //When
            _ = new ScriptedRuleWrapper(ruleName, ruleCode1, logger);
            _ = new ScriptedRuleWrapper(ruleName, ruleCode2, logger);
            _ = new ScriptedRuleWrapper(ruleName, ruleCode2, logger);

            //Then
            logger.Received(2).WriteVerbose("Rule dummy was not in cache: compiling");
            logger.Received(1).WriteVerbose("Rule dummy found in cache");
        }