Esempio n. 1
0
        public static void BindMocksForMainPresenter(this IComponentProvider builder)
        {
            var(controller, aggregator) = builder.BindMocksForMvp();

            var dialog = Substitute.ForPartsOf <NonBlockDialogServiceWrapper>(
                Substitute.For <IFileDialogService>(), Substitute.For <IStaTaskService>());

            builder
            .RegisterSingletonInstance <INonBlockDialogService>(dialog)
            .RegisterTransientInstance <ICacheService <Bitmap> >(Substitute.ForPartsOf <CacheService <Bitmap> >())
            .RegisterTransientInstance <IAsyncOperationLocker>(Substitute.ForPartsOf <AsyncOperationLocker>())
            .RegisterTransientInstance <IAwaitablePipeline>(Substitute.ForPartsOf <AwaitablePipeline>())
            .RegisterTransientInstance <IMainFormEventBinder>(Substitute.ForPartsOf <MainFormEventBinder>(aggregator))
            .RegisterTransientInstance <IMainFormContainerFactory>(Substitute.ForPartsOf <MainFormContainerFactory>())
            .RegisterTransientInstance <IMainFormUndoRedoFactory>(Substitute.ForPartsOf <MainFormUndoRedoFactory>())
            .RegisterTransientInstance <IMainFormZoomFactory>(Substitute.ForPartsOf <MainFormZoomFactory>())
            .RegisterTransientInstance <IMainFormRotationFactory>(Substitute.ForPartsOf <MainFormRotationFactory>())
            .RegisterTransientInstance <IScalingProvider>(Substitute.For <IScalingProvider>())
            .RegisterTransientInstance <IRotationProvider>(Substitute.For <IRotationProvider>());


            var form = Substitute.ForPartsOf <MainFormWrapper>(controller,
                                                               builder.Resolve <IMainFormEventBinder>(),
                                                               builder.Resolve <IMainFormContainerFactory>(),
                                                               builder.Resolve <IMainFormUndoRedoFactory>(),
                                                               builder.Resolve <IMainFormZoomFactory>(),
                                                               builder.Resolve <IMainFormRotationFactory>());

            builder.RegisterSingletonInstance(form)
            .RegisterSingletonInstance <IMainView>(form);

            builder.RegisterTransientInstance(Substitute.ForPartsOf <MainPresenterWrapper>(controller,
                                                                                           builder.Resolve <ICacheService <Bitmap> >(),
                                                                                           builder.Resolve <INonBlockDialogService>(),
                                                                                           builder.Resolve <IAwaitablePipeline>(),
                                                                                           builder.Resolve <IAsyncOperationLocker>(),
                                                                                           builder.Resolve <IScalingProvider>(),
                                                                                           builder.Resolve <IRotationProvider>()));
        }