Exemple #1
0
        public virtual void MediatorShouldCallOnNavigatingOnClose()
        {
            bool result    = false;
            bool isInvoked = false;
            var  view      = new DialogViewMock();
            var  vm        = GetViewModel <NavigableViewModelMock>();

            ViewManager.GetViewDelegate = (model, s) => view;
            WindowViewMediatorBase <TView> windowMediator = Create(vm);

            NavigationDispatcher.OnNavigatingFromAsync = context =>
            {
                isInvoked = true;
                context.ShouldNotBeNull();
                context.NavigationMode.ShouldEqual(NavigationMode.Back);
                context.NavigationType.ShouldEqual(NavigationType.Window);
                context.ViewModelFrom.ShouldEqual(vm);
                return(ToolkitExtensions.FromResult(result));
            };
            windowMediator.ShowAsync(DataContext.Empty);
            windowMediator.CloseAsync(null).Result.ShouldBeFalse();
            isInvoked.ShouldBeTrue();

            isInvoked = false;
            result    = true;
            windowMediator.CloseAsync(null).Result.ShouldBeTrue();
            isInvoked.ShouldBeTrue();
        }
        public virtual void MediatorShouldCallOnNavigatingFromMethodOnClose()
        {
            bool result    = false;
            bool isInvoked = false;
            var  view      = new DialogViewMock();
            var  vm        = GetViewModel <NavigableViewModelMock>();

            ViewManager.GetViewDelegate = (model, s) => view;
            WindowViewMediatorBase <TView> windowMediator = Create(vm);

            vm.OnNavigatingFromDelegate = o =>
            {
                o.ShouldNotBeNull();
                isInvoked = true;
                return(ToolkitExtensions.FromResult(result));
            };
            windowMediator.ShowAsync(null, DataContext.Empty);
            windowMediator.CloseAsync(null).Result.ShouldBeFalse();
            isInvoked.ShouldBeTrue();

            isInvoked = false;
            result    = true;
            windowMediator.CloseAsync(null).Result.ShouldBeTrue();
            isInvoked.ShouldBeTrue();
        }
        public virtual void ShowCallbackShouldBeInvokedAfterWindowClosedTrueResult()
        {
            var view = new DialogViewMock();
            var vm   = GetViewModel <NavigableViewModelMock>();

            ViewManager.GetViewDelegate = (model, s) => view;
            WindowViewMediatorBase <TView> windowMediator = Create(vm);

            var              mockCallback    = new OperationCallbackMock();
            bool             isRegistered    = false;
            IOperationResult operationResult = null;

            OperationCallbackManager.Register = (type, o, arg3, arg4) =>
            {
                type.ShouldEqual(OperationType.WindowNavigation);
                o.ShouldEqual(vm);
                arg3.ShouldEqual(mockCallback);
                isRegistered = true;
            };
            OperationCallbackManager.SetResult = (o, result) =>
            {
                o.ShouldEqual(vm);
                (result.OperationContext is INavigationContext).ShouldBeTrue();
                operationResult = result;
            };

            windowMediator.ShowAsync(mockCallback, DataContext.Empty);
            isRegistered.ShouldBeTrue();

            vm.OperationResult = true;
            windowMediator.CloseAsync(null).Result.ShouldBeTrue();
            operationResult.ShouldNotBeNull();
            operationResult.Result.ShouldEqual(true);
        }
Exemple #4
0
        public virtual void CloseEmptyWindowShouldNotThrowException()
        {
            var view = new DialogViewMock();
            var vm   = GetViewModel <NavigableViewModelMock>();

            ViewManager.GetViewDelegate = (model, s) => view;
            WindowViewMediatorBase <TView> windowMediator = Create(vm);

            windowMediator.CloseAsync(null);
        }
        public virtual void CloseEmptyWindowShouldThrowException()
        {
            var view = new DialogViewMock();
            var vm   = GetViewModel <NavigableViewModelMock>();

            ViewManager.GetViewDelegate = (model, s) => view;
            WindowViewMediatorBase <TView> windowMediator = Create(vm, ThreadManager, ViewManager, OperationCallbackManager);

            ShouldThrow(() => windowMediator.CloseAsync(null));
        }
        public virtual void ShowTwiceShouldThrowException()
        {
            var view = new DialogViewMock();
            var vm   = GetViewModel <NavigableViewModelMock>();

            ViewManager.GetViewDelegate = (model, s) => view;
            WindowViewMediatorBase <TView> windowMediator = Create(vm, ThreadManager, ViewManager, OperationCallbackManager);

            windowMediator.Show(null, DataContext.Empty);
            ShouldThrow(() => windowMediator.Show(null, DataContext.Empty));
        }
Exemple #7
0
        public virtual void ViewShouldBeInitializedWhenWindowIsShowed()
        {
            var view = new DialogViewMock();
            var vm   = GetViewModel <NavigableViewModelMock>();

            ViewManager.GetViewDelegate = (model, s) => view;
            WindowViewMediatorBase <TView> windowMediator = Create(vm);

            windowMediator.View.ShouldBeNull();
            windowMediator.ShowAsync(DataContext.Empty);
            windowMediator.View.ShouldEqual((TView)(object)view);
        }
Exemple #8
0
        public virtual void ShowTwiceShouldActivateWindow()
        {
            var view = new DialogViewMock();
            var vm   = GetViewModel <NavigableViewModelMock>();

            ViewManager.GetViewDelegate = (model, s) => view;
            WindowViewMediatorBase <TView> windowMediator = Create(vm);

            windowMediator.ShowAsync(DataContext.Empty);
            view.IsActivated.ShouldBeFalse();
            windowMediator.ShowAsync(DataContext.Empty);
            view.IsActivated.ShouldBeTrue();
        }
Exemple #9
0
        public virtual void IsOpenShouldBeTrueWhenWindowIsShowed()
        {
            var view = new DialogViewMock();
            var vm   = GetViewModel <NavigableViewModelMock>();

            ViewManager.GetViewDelegate = (model, s) => view;
            WindowViewMediatorBase <TView> windowMediator = Create(vm);

            windowMediator.IsOpen.ShouldBeFalse();
            view.IsShowAny.ShouldBeFalse();
            windowMediator.ShowAsync(DataContext.Empty);
            windowMediator.IsOpen.ShouldBeTrue();
            view.IsShowAny.ShouldBeTrue();
        }
        public virtual void ViewShouldBeNullAfterWindowClosed()
        {
            var view = new DialogViewMock();
            var vm   = GetViewModel <NavigableViewModelMock>();

            ViewManager.GetViewDelegate = (model, s) => view;
            WindowViewMediatorBase <TView> windowMediator = Create(vm, ThreadManager, ViewManager, OperationCallbackManager);

            windowMediator.View.ShouldBeNull();
            windowMediator.Show(null, DataContext.Empty);
            windowMediator.View.ShouldEqual((TView)(object)view);
            windowMediator.CloseAsync(null);
            windowMediator.View.ShouldBeNull();
        }
        public virtual void MediatorShouldCallOnNavigatedToMethodOnShow()
        {
            bool isInvoked = false;
            var  view      = new DialogViewMock();
            var  vm        = GetViewModel <NavigableViewModelMock>();

            ViewManager.GetViewDelegate = (model, s) => view;
            WindowViewMediatorBase <TView> windowMediator = Create(vm);

            vm.OnNavigatedToDelegate = context =>
            {
                isInvoked = true;
                context.ShouldNotBeNull();
            };
            windowMediator.ShowAsync(null, DataContext.Empty);
            isInvoked.ShouldBeTrue();
        }
        public virtual void ClosingEventFromViewShouldCloseWindow()
        {
            var view = new DialogViewMock();
            var vm   = GetViewModel <NavigableViewModelMock>();

            ViewManager.GetViewDelegate = (model, s) => view;
            WindowViewMediatorBase <TView> windowMediator = Create(vm);

            IOperationResult operationResult = null;

            OperationCallbackManager.SetResult = (o, result) => operationResult = result;

            windowMediator.ShowAsync(null, DataContext.Empty);
            view.Close();
            operationResult.ShouldNotBeNull();
            windowMediator.IsOpen.ShouldBeFalse();
        }
        public virtual void MediatorShouldCallOnNavigatedFromMethodOnClose()
        {
            bool isInvoked = false;
            var  view      = new DialogViewMock();
            var  vm        = GetViewModel <NavigableViewModelMock>();

            ViewManager.GetViewDelegate = (model, s) => view;
            WindowViewMediatorBase <TView> windowMediator = Create(vm, ThreadManager, ViewManager, OperationCallbackManager);

            vm.OnNavigatedFromDelegate = o =>
            {
                o.ShouldNotBeNull();
                isInvoked = true;
            };
            windowMediator.Show(null, DataContext.Empty);
            windowMediator.CloseAsync(null).Result.ShouldBeTrue();
            isInvoked.ShouldBeTrue();
        }
Exemple #14
0
        public virtual void MediatorShouldCallOnNavigatedOnShow()
        {
            bool isInvoked = false;
            var  view      = new DialogViewMock();
            var  vm        = GetViewModel <NavigableViewModelMock>();

            ViewManager.GetViewDelegate = (model, s) => view;
            WindowViewMediatorBase <TView> windowMediator = Create(vm);

            NavigationDispatcher.OnNavigated = context =>
            {
                isInvoked = true;
                context.ShouldNotBeNull();
                context.NavigationMode.ShouldEqual(NavigationMode.New);
                context.NavigationType.ShouldEqual(NavigationType.Window);
                context.ViewModelTo.ShouldEqual(vm);
            };
            windowMediator.ShowAsync(DataContext.Empty);
            isInvoked.ShouldBeTrue();
        }