コード例 #1
0
        public void TestsDisposesAllTransformersWhenShifting()
        {
            Mock <IDisposableTransformer <SourceModel, IntermediateModel> >      firstTransformerMock  = new Mock <IDisposableTransformer <SourceModel, IntermediateModel> >();
            Mock <IDisposableTransformer <IntermediateModel, DestinationModel> > secondTransformerMock = new Mock <IDisposableTransformer <IntermediateModel, DestinationModel> >();
            Mock <IDisposableTransformer <DestinationModel, IntermediateModel> > thirdTransformerMock  = new Mock <IDisposableTransformer <DestinationModel, IntermediateModel> >();
            Mock <IDisposableTransformer <IntermediateModel, SourceModel> >      fourthTransformerMock = new Mock <IDisposableTransformer <IntermediateModel, SourceModel> >();

            TransformerPipeline <SourceModel, IntermediateModel, DestinationModel> transformer =
                new TransformerPipeline <SourceModel, IntermediateModel, DestinationModel>(
                    firstTransformerMock.Object,
                    secondTransformerMock.Object
                    );

            TransformerPipeline <DestinationModel, IntermediateModel, DestinationModel> newTransformer =
                transformer
                .PipeShift(fourthTransformerMock.Object)
                .PipeShift(thirdTransformerMock.Object);

            newTransformer.Dispose();

            firstTransformerMock.Verify(_ => _.Dispose(), Times.Once);
            secondTransformerMock.Verify(_ => _.Dispose(), Times.Once);
            thirdTransformerMock.Verify(_ => _.Dispose(), Times.Once);
            fourthTransformerMock.Verify(_ => _.Dispose(), Times.Once);
        }
コード例 #2
0
        public void TestDisposeDependantsTransformers()
        {
            Mock <IDisposableTransformer <SourceModel, IntermediateModel> >      leftTransformerMock  = new Mock <IDisposableTransformer <SourceModel, IntermediateModel> >();
            Mock <IDisposableTransformer <IntermediateModel, DestinationModel> > rightTransformerMock = new Mock <IDisposableTransformer <IntermediateModel, DestinationModel> >();

            TransformerPipeline <SourceModel, IntermediateModel, DestinationModel> tranformer =
                new TransformerPipeline <SourceModel, IntermediateModel, DestinationModel>(
                    leftTransformerMock.Object,
                    rightTransformerMock.Object
                    );

            tranformer.Dispose();

            leftTransformerMock.Verify(_ => _.Dispose(), Times.Once);
            rightTransformerMock.Verify(_ => _.Dispose(), Times.Once);
        }