public async Task RemovePageFor_removes_appropriate_page()
        {
            await navController.PushAsync <TestViewModel1>();

            await navController.PushAsync <TestViewModel2>();

            await navController.PushAsync <TestViewModel3>();

            Assume.That(navController.MainStack.Count == 4);
            Assume.That(navController.MainStack[1] is TestPage1);

            navController.RemovePageFor <TestViewModel1>();

            Assert.Multiple(() =>
            {
                Assert.AreEqual(3, navController.MainStack.Count);
                Assert.IsNotInstanceOf <TestPage1>(navController.MainStack[1]);
            });
        }
        public async Task RemovePageFor_works_with_Di_pages()
        {
            navController = new NavController();
            await navController.DiInitAsync(new DiTestViewModel0());

            await navController.DiPushAsync(new DiTestViewModel1());

            await navController.DiPushAsync(new DiTestViewModel2());

            await navController.DiPushAsync(new DiTestViewModel3());

            Assume.That(navController.MainStack.Count == 4);
            Assume.That(navController.MainStack[1] is DiTestPage1);

            navController.RemovePageFor <DiTestViewModel1>();

            Assert.Multiple(() =>
            {
                Assert.AreEqual(3, navController.MainStack.Count);
                Assert.IsNotInstanceOf <DiTestPage1>(navController.MainStack[1]);
            });
        }