public void ContentShouldBeSetWhenReplacingFuture() { var target = new NavigationViewModel(); var first = CreatePage(); var second = CreatePage(); var third = CreatePage(); target.NavigateTo(first); target.NavigateTo(second); target.Back(); target.NavigateTo(third); Assert.Equal(third, target.Content); target.Back(); Assert.Equal(first, target.Content); }
public void ContentShouldBeSetOnNavigatingBack() { var target = new NavigationViewModel(); var first = CreatePage(); var second = CreatePage(); target.NavigateTo(first); target.NavigateTo(second); target.Back(); Assert.Same(first, target.Content); }
public void NavigatingToExistingPageInForwardHistoryShouldNotDisposePage() { var target = new NavigationViewModel(); var first = CreatePage(); var second = CreatePage(); target.NavigateTo(first); target.NavigateTo(second); target.Back(); target.NavigateTo(second); second.DidNotReceive().Dispose(); }
public void ForwardCommandShouldBeEnabledOnNavigatingBack() { var target = new NavigationViewModel(); var first = CreatePage(); var second = CreatePage(); target.NavigateTo(first); target.NavigateTo(second); target.Back(); Assert.False(target.NavigateBack.CanExecute(null)); Assert.True(target.NavigateForward.CanExecute(null)); }
public void ContentShouldBeSetOnNavigatingForward() { var target = new NavigationViewModel(); var first = CreatePage(); var second = CreatePage(); target.NavigateTo(first); target.NavigateTo(second); target.Back(); target.Forward(); Assert.That(second, Is.SameAs(target.Content)); }
public void BackShouldCallDeactivatedOnOldPage() { var target = new NavigationViewModel(); var first = CreatePage(); var second = CreatePage(); target.NavigateTo(first); target.NavigateTo(second); second.ClearReceivedCalls(); target.Back(); second.Received(1).Deactivated(); }
public void ForwardShouldCallActivatedOnNewPage() { var target = new NavigationViewModel(); var first = CreatePage(); var second = CreatePage(); target.NavigateTo(first); target.NavigateTo(second); target.Back(); second.ClearReceivedCalls(); target.Forward(); second.Received(1).Activated(); }
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.Same(first, target.Content); Assert.Same(first, target.History[0]); Assert.Equal(0, target.Index); Assert.Single(target.History); }