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); }
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); }
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"); }
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"); }