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