public RegisterRoute ( string route, Func |
||
route | string | |
pageFactory | Func |
|
return | void |
public void PageStackBasic() { PageStack stack = new PageStack(); bool observableWorked = false; PropertyChangedEventHandler firstChecker = (sender, e) => { if(e.PropertyName != nameof(PageStack.CurrentPage)) { return; } Assert.IsNotNull(stack.CurrentPage); Assert.AreEqual(0, stack.CurrentPage.RouteVariables.Count); observableWorked = true; }; stack.PropertyChanged += firstChecker; stack.RegisterRoute("Home", () => new Page()); stack.Navigate("Home"); Assert.IsTrue(observableWorked); stack.PropertyChanged -= firstChecker; try { stack.Navigate("BadRoute"); Assert.Fail("An exception should have been thrown"); } catch (KeyNotFoundException) { } stack.RegisterRoute("Applications/{ApplicationId}/Components/{ComponentId}", () => new Page()); stack.Navigate("Applications/foo/Components/bar"); Assert.IsTrue(stack.CurrentPage.RouteVariables.Count == 2); Assert.AreEqual("foo", stack.CurrentPage.RouteVariables["ApplicationId"]); Assert.AreEqual("bar", stack.CurrentPage.RouteVariables["ComponentId"]); }
private void ExpectGoodRoute(string goodRoute) { PageStack stack = new PageStack(); stack.RegisterRoute(goodRoute, () => new Page()); }
private void ExpectBadRoute(string badRoute) { PageStack stack = new PageStack(); try { stack.RegisterRoute(badRoute, () => new Page()); Assert.Fail("An exception should have been thrown for bad route: "+ badRoute); } catch (FormatException) { } }