public void TranslateTest() { var ruleSet = CreateTestRuleSet(); var expectedCode = CreateExpectedCode(); var mockBusinessRuleParser = new Mock <IBusinessRuleParser>(); mockBusinessRuleParser.Setup(x => x.Translate(It.IsAny <Rule>())) .Returns(new TranslateResult { Code = @" if(token.Audit.AuditStatus == AuditStatuses.Submitted && token.Audit.Policy.EffectiveEnd >= DateTime.Now.AddDays(-token.Client.Settings.WelcomeLetterDays)) { token.Params.Add(""ReportType"", ""Welcome""); token.Exception = _actions[""GenerateLetter""](token); }" }); // Act var sut = new RuleSetTranslator(mockBusinessRuleParser.Object); var code = sut.Translate(ruleSet, false); // Assert code.Length.Should().BeGreaterThan(0); code.RemoveWhitespace().Should().Be(expectedCode.RemoveWhitespace()); mockBusinessRuleParser.Verify(x => x.Translate(It.IsAny <Rule>())); }
public void CreatePublishedAssemblyTest() { // Arrange var mockLogManager = new Mock <ILogManager>(); var mockRuleSetRepository = new Mock <IRuleSetRepository>(); var mockRuleTerminalApplicationService = new Mock <IRuleGrammarTerminalApplicationService>(); mockRuleTerminalApplicationService.Setup(x => x.GetAllAsync()) .Returns(Task.FromResult(GetMockRuleTerminals())); var businessRuleParser = new BusinessRuleParser(mockLogManager.Object, mockRuleTerminalApplicationService.Object); var rulesetTranslator = new RuleSetTranslator(businessRuleParser); var ruleAssemblyService = new RuleSetAssemblyService(mockLogManager.Object); var testRuleSet = CreateTestRuleSet(); // Act var sut = new RuleApplicationService( mockLogManager.Object, mockRuleSetRepository.Object, rulesetTranslator, ruleAssemblyService); var response = sut.CreateAssembly(testRuleSet, true); // Assert response.IsSuccessful.Should().BeTrue(); response.Errors.Count.Should().Be(0); response.Content.GeneratedAssembly.Length.Should().BeGreaterThan(0); }