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