public void ProviderShouldNotCompleteCallbackNotOnBackNavigation()
        {
            bool isInvoked = false;
            var callbackMock = new OperationCallbackMock();
            var viewModel = GetViewModel<NavigableViewModelMock>();
            object param = null;
            ViewPageMappingProvider.FindMappingForViewModel = (type, s, arg3) => PageMapping;
            NavigationService.Navigate = (item, o, d) =>
            {
                param = o;
                return true;
            };
            NavigationService.GetParameterFromArgs = args => param;
            OperationCallbackManager.Register = (type, o, arg3, arg4) => { };
            OperationCallbackManager.SetResult = (o, result) =>
            {
                isInvoked = true;
            };
            NavigationProvider.NavigateAsync(callbackMock, new DataContext(NavigationConstants.ViewModel.ToValue(viewModel)));
            NavigationService.OnNavigated(new NavigationEventArgsMock(null, NavigationMode.New));

            NavigationService.OnNavigated(new NavigationEventArgsMock(null, NavigationMode.Refresh));
            isInvoked.ShouldBeFalse();
        }
 public void ProviderShouldNavigateToViewModelAndRegisterCallback()
 {
     ThreadManager.ImmediateInvokeOnUiThreadAsync = true;
     bool isInvoked = false;
     var callbackMock = new OperationCallbackMock();
     var viewModel = GetViewModel<NavigableViewModelMock>();
     object param = null;
     ViewPageMappingProvider.FindMappingForViewModel = (type, s, arg3) => PageMapping;
     NavigationService.Navigate = (item, o, d) =>
     {
         param = o;
         return true;
     };
     NavigationService.GetParameterFromArgs = args => param;
     OperationCallbackManager.Register = (type, o, arg3, arg4) =>
     {
         type.ShouldEqual(OperationType.PageNavigation);
         o.ShouldEqual(viewModel);
         arg3.ShouldEqual(callbackMock);
         isInvoked = true;
     };
     NavigationProvider.NavigateAsync(callbackMock, new DataContext(NavigationConstants.ViewModel.ToValue(viewModel)));
     NavigationService.OnNavigated(new NavigationEventArgsMock(new ViewMock(), NavigationMode.New));
     isInvoked.ShouldBeTrue();
 }