public void Map() { var loose = new Model.Loose.Message(); var tight = new Model.Message(); var messageMapperMock = new Mock <IModelMapper <Model.Loose.Message, Model.Message> >(); messageMapperMock.Setup(m => m.Map(loose)).Returns(tight).Verifiable(); var service = new LooseToTightSchemaMapper(messageMapperMock.Object); service.MapTo(loose).Should().BeSameAs(tight); }
public async Task Validate() { var cancellationToken = CancellationToken.None; var fileValidationContextMock = new Mock <IFileValidationContext>(); var fileValidationPreparationServiceMock = new Mock <IFileValidationPreparationService>(); var looseMessageProviderMock = new Mock <ILooseMessageProvider>(); var fileValidationRuleExecutionServiceMock = new Mock <IFileValidationRuleExecutionService>(); var validationErrorHandlerMock = new Mock <IValidationErrorHandler>(); var tightSchemaValidMessageFilterServiceMock = new Mock <ITightSchemaValidMessageFilterService>(); var mapperMock = new Mock <IMapper <Model.Loose.Message, Message> >(); var fileValidationOutputServiceMock = new Mock <IFileValidationOutputService>(); var loggerMock = new Mock <ILogger>(); var looseMessage = new Model.Loose.Message(); var validationErrors = new List <IValidationError>(); var validLooseMessage = new Model.Loose.Message(); var tightMessage = new Message(); fileValidationPreparationServiceMock.Setup(s => s.Prepare(fileValidationContextMock.Object, cancellationToken)).Returns(Task.CompletedTask); looseMessageProviderMock.Setup(p => p.ProvideAsync(fileValidationContextMock.Object, cancellationToken)).Returns(Task.FromResult(looseMessage)).Verifiable(); fileValidationRuleExecutionServiceMock.Setup(s => s.Execute(looseMessage)).Returns(validationErrors).Verifiable(); validationErrorHandlerMock.SetupGet(h => h.ValidationErrors).Returns(validationErrors); tightSchemaValidMessageFilterServiceMock.Setup(s => s.ApplyFilter(looseMessage, validationErrors)).Returns(validLooseMessage).Verifiable(); mapperMock.Setup(m => m.MapTo(validLooseMessage)).Returns(tightMessage).Verifiable(); fileValidationOutputServiceMock.Setup(s => s.OutputAsync(fileValidationContextMock.Object, tightMessage, validationErrors, cancellationToken)).Returns(Task.CompletedTask).Verifiable(); var service = NewService(fileValidationPreparationServiceMock.Object, looseMessageProviderMock.Object, fileValidationRuleExecutionServiceMock.Object, tightSchemaValidMessageFilterServiceMock.Object, mapperMock.Object, fileValidationOutputServiceMock.Object, validationErrorHandlerMock.Object, loggerMock.Object); await service.Validate(fileValidationContextMock.Object, cancellationToken); looseMessageProviderMock.VerifyAll(); fileValidationRuleExecutionServiceMock.VerifyAll(); tightSchemaValidMessageFilterServiceMock.VerifyAll(); mapperMock.VerifyAll(); fileValidationOutputServiceMock.VerifyAll(); }