Exemplo n.º 1
0
        public void RemovingOnlyItemWorks()
        {
            var target = new NavigationViewModel();
            var first  = CreatePage();

            target.NavigateTo(first);
            target.RemoveAll(first);

            Assert.Null(target.Content);
            Assert.Empty(target.History);
            Assert.Equal(-1, target.Index);
        }
Exemplo n.º 2
0
        public void RemovingItemDisposesRegisteredResources()
        {
            var target   = new NavigationViewModel();
            var first    = CreatePage();
            var disposed = false;

            target.NavigateTo(first);
            target.RegisterDispose(first, Disposable.Create(() => disposed = true));
            target.RemoveAll(first);

            Assert.True(disposed);
        }
Exemplo n.º 3
0
        public void RemovingItemCallsDispose()
        {
            var target   = new NavigationViewModel();
            var first    = CreatePage();
            var disposed = false;

            first.When(x => x.Dispose()).Do(_ => disposed = true);

            target.NavigateTo(first);
            target.RemoveAll(first);

            Assert.True(disposed);
        }
Exemplo n.º 4
0
        public void CallsDeactivatedAndThenDisposedOnPages()
        {
            var target = new NavigationViewModel();
            var first  = CreatePage();

            target.NavigateTo(first);
            target.RemoveAll(first);

            Received.InOrder(() =>
            {
                first.Deactivated();
                first.Dispose();
            });
        }
Exemplo n.º 5
0
        public void RemovesAllInstancesOfPage()
        {
            var target = new NavigationViewModel();
            var first  = CreatePage();
            var second = CreatePage();

            target.NavigateTo(first);
            target.NavigateTo(second);
            target.NavigateTo(second);
            target.NavigateTo(second);
            target.RemoveAll(second);

            Assert.Single(target.History);
        }
Exemplo n.º 6
0
        public void RemovingCurrentItemSetsContentToPrevious()
        {
            var target = new NavigationViewModel();
            var first  = CreatePage();
            var second = CreatePage();

            target.NavigateTo(first);
            target.NavigateTo(second);
            target.RemoveAll(second);

            Assert.Same(first, target.Content);
            Assert.Same(first, target.History[0]);
            Assert.Equal(0, target.Index);
            Assert.Single(target.History);
        }
        public void RemovingItemAfterCurrentWorks()
        {
            var target = new NavigationViewModel();
            var first  = CreatePage();
            var second = CreatePage();

            target.NavigateTo(first);
            target.NavigateTo(second);
            target.Back();
            target.RemoveAll(second);

            Assert.That(first, Is.SameAs(target.Content));
            Assert.That(first, Is.SameAs(target.History[0]));
            Assert.That(0, Is.EqualTo(target.Index));
            //Assert.Single(target.History);
        }