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);
        }
コード例 #2
0
        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();
        }