ArgsTests.Pages.PageStackTests.PageStackBasic C# (CSharp) Метод

PageStackBasic() приватный Метод

private PageStackBasic ( ) : void
Результат 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"]);
        }