public void Test_DoubleRegister_Shoul_Generate_Error() { _NavigationBuilder.Register <object>("javascript\\index.html"); Action Failed = () => _NavigationBuilder.Register <object>("javascript\\index.html"); Failed.ShouldThrow <ArgumentException>(); }
public async Task NavigateAsync_ShouldWaitForAnimationEnd() { await Test(async (wpfnav, _) => { var vm = new VM(); wpfnav.Should().NotBeNull(); _NavigationBuilder.Register <VM>(GetRelativePath(TestContext.AnimatedNavigation)); wpfnav.UseINavigable = true; DateTime?opened = null; DisplayEvent de = null; wpfnav.OnDisplay += (o, e) => { opened = DateTime.Now; de = e; }; await wpfnav.NavigateAsync(vm); var nav = DateTime.Now; await Task.Delay(3000); de.Should().NotBeNull(); de.DisplayedViewModel.Should().Be(vm); opened.HasValue.Should().BeTrue(); opened.Value.Subtract(nav).Should().BeCloseTo(TimeSpan.FromSeconds(2), 100); }); }
public void Test_WPFBrowserNavigator_Simple() { var vm = new VM(); TestNavigation((wpfnav, WindowTest) => { wpfnav.Should().NotBeNull(); _INavigationBuilder.Register <VM>("Navigation data\\index.html"); wpfnav.UseINavigable = true; var mre = new ManualResetEvent(false); DateTime?nav = null; DateTime?Opened = null; DisplayEvent de = null; wpfnav.OnDisplay += (o, e) => { Opened = DateTime.Now; de = e; }; WindowTest.RunOnUIThread( () => { wpfnav.NavigateAsync(vm).ContinueWith ( t => { vm.Navigation.Should().Be(wpfnav); nav = DateTime.Now; mre.Set(); }); }); mre.WaitOne(); mre = new ManualResetEvent(false); Thread.Sleep(4500); de.Should().NotBeNull(); de.DisplayedViewModel.Should().Be(vm); Opened.HasValue.Should().BeTrue(); Opened.Value.Subtract(nav.Value).Should().BeGreaterThan(TimeSpan.FromSeconds(2)). And.BeLessOrEqualTo(TimeSpan.FromSeconds(3)); WindowTest.RunOnUIThread( () => { wpfnav.NavigateAsync(vm).ContinueWith ( t => { mre.Set(); }); }); mre.WaitOne(); Thread.Sleep(500); vm.Navigation.Should().Be(wpfnav); }); }
public void Test_WPFBrowserNavigator_Register_ShouldNotAceptBadPath() { _INavigationBuilder.Should().NotBeNull(); Action wf = () => { _INavigationBuilder.Register <A1>("javascript\\navigationk_1.html"); }; wf.ShouldThrow <Exception>(); wf = () => { _INavigationBuilder.RegisterAbsolute <A1>("C:\\javascript\\navigationk_1.html"); }; wf.ShouldThrow <Exception>(); wf = () => { _INavigationBuilder.Register <A1>(new Uri("C:\\navigationk_1.html")); }; wf.ShouldThrow <Exception>(); }