public void After_AddingHistory_ForwardHistoryIsDestroyed() { // arrange var nav = new NavigationHistory<int>(); nav.AddToHistory(1); nav.AddToHistory(2); nav.AddToHistory(3); nav.AddToHistory(4); nav.AddToHistory(5); nav.NavigateBackward(); nav.NavigateBackward(); nav.NavigateBackward(); nav.NavigateBackward(); // act nav.AddToHistory(9); var one = nav.NavigateBackward(); var navBackAfterOne = nav.CanNavigateBackward; var nine = nav.NavigateForward(); var navForwAfterNine = nav.CanNavigateForward; // assert Assert.IsFalse(navBackAfterOne); Assert.IsFalse(navForwAfterNine); Assert.AreEqual(1, one); Assert.AreEqual(9, nine); }
public void After_AddingHistory_ForwardHistoryIsDestroyed() { // arrange var nav = new NavigationHistory <int>(); nav.AddToHistory(1); nav.AddToHistory(2); nav.AddToHistory(3); nav.AddToHistory(4); nav.AddToHistory(5); nav.NavigateBackward(); nav.NavigateBackward(); nav.NavigateBackward(); nav.NavigateBackward(); // act nav.AddToHistory(9); var one = nav.NavigateBackward(); var navBackAfterOne = nav.CanNavigateBackward; var nine = nav.NavigateForward(); var navForwAfterNine = nav.CanNavigateForward; // assert Assert.IsFalse(navBackAfterOne); Assert.IsFalse(navForwAfterNine); Assert.AreEqual(1, one); Assert.AreEqual(9, nine); }
public void ReadOnlyMode_BlocksForwardNavigation() { // arrange var nav = new NavigationHistory <int>(); nav.AddToHistory(1); nav.AddToHistory(2); nav.AddToHistory(3); nav.NavigateBackward(); nav.NavigateBackward(); nav.IsReadOnly = true; // act nav.NavigateForward(); nav.NavigateForward(); nav.NavigateForward(); var canStillNavigate = nav.CanNavigateForward; nav.IsReadOnly = false; var two = nav.NavigateForward(); // assert Assert.True(canStillNavigate); Assert.AreEqual(2, two); }
public void NavigatingForward_InvokesChangeEvent() { // arrange var nav = new NavigationHistory <int>(); var eventCount = 0; nav.AddToHistory(1); nav.AddToHistory(2); nav.AddToHistory(3); nav.NavigateBackward(); nav.NavigateBackward(); nav.OnHistoryChange += () => { eventCount++; }; // act nav.NavigateForward(); // assert Assert.AreEqual(1, eventCount); }
public void NavigatingBackward_ProducesCorrectItem() { // arrange var nav = new NavigationHistory <int>(); nav.AddToHistory(1); nav.AddToHistory(2); nav.AddToHistory(3); // act var two = nav.NavigateBackward(); var one = nav.NavigateBackward(); // assert Assert.AreEqual(2, two); Assert.AreEqual(1, one); }
public void After_AddingHistory_CannotNavigateForward() { // arrange var nav = new NavigationHistory <int>(); nav.AddToHistory(1); nav.AddToHistory(2); nav.AddToHistory(3); nav.NavigateBackward(); nav.NavigateBackward(); // act nav.AddToHistory(9); // assert Assert.IsFalse(nav.CanNavigateForward); }
public void After_AddingHistory_CannotNavigateForward() { // arrange var nav = new NavigationHistory<int>(); nav.AddToHistory(1); nav.AddToHistory(2); nav.AddToHistory(3); nav.NavigateBackward(); nav.NavigateBackward(); // act nav.AddToHistory(9); // assert Assert.IsFalse(nav.CanNavigateForward); }
public void NavigatingBackward_WhenUnable_ThrowsException() { // arrange var nav = new NavigationHistory <int>(); // act TestDelegate act = () => nav.NavigateBackward(); // assert Assert.Throws <InvalidOperationException>(act); }
public void NavigatingBackward_WhenUnable_ThrowsException() { // arrange var nav = new NavigationHistory <int>(); // act nav.NavigateBackward(); // assert Assert.Fail(); }
public void ForwardsNavigation_DuringReadOnlyMode_ProducesDefaultValue() { // arrange var nav = new NavigationHistory <int>(); nav.AddToHistory(1); nav.AddToHistory(2); nav.AddToHistory(3); nav.NavigateBackward(); nav.NavigateBackward(); nav.IsReadOnly = true; // act var zero = nav.NavigateForward(); // assert Assert.AreEqual(default(int), zero); }
public void After_NavigatingBackward_CanNavigateForward() { // arrange var nav = new NavigationHistory <int>(); nav.AddToHistory(1); nav.AddToHistory(2); nav.AddToHistory(3); // act nav.NavigateBackward(); // assert Assert.IsTrue(nav.CanNavigateForward); }
public void After_NavigatingBackward_CanNavigateForward() { // arrange var nav = new NavigationHistory<int>(); nav.AddToHistory(1); nav.AddToHistory(2); nav.AddToHistory(3); // act nav.NavigateBackward(); // assert Assert.IsTrue(nav.CanNavigateForward); }
public void NavigatingBackward_WhenUnable_ThrowsException() { // arrange var nav = new NavigationHistory<int>(); // act nav.NavigateBackward(); // assert Assert.Fail(); }
public void NavigatingForward_InvokesChangeEvent() { // arrange var nav = new NavigationHistory<int>(); var eventCount = 0; nav.AddToHistory(1); nav.AddToHistory(2); nav.AddToHistory(3); nav.NavigateBackward(); nav.NavigateBackward(); nav.OnHistoryChange += () => { eventCount++; }; // act nav.NavigateForward(); // assert Assert.AreEqual(1, eventCount); }
public void NavigatingForward_ProducesCorrectItem() { // arrange var nav = new NavigationHistory<int>(); nav.AddToHistory(1); nav.AddToHistory(2); nav.AddToHistory(3); nav.NavigateBackward(); nav.NavigateBackward(); // act var two = nav.NavigateForward(); var three = nav.NavigateForward(); // assert Assert.AreEqual(2, two); Assert.AreEqual(3, three); }
public void ReadOnlyMode_BlocksForwardNavigation() { // arrange var nav = new NavigationHistory<int>(); nav.AddToHistory(1); nav.AddToHistory(2); nav.AddToHistory(3); nav.NavigateBackward(); nav.NavigateBackward(); nav.IsReadOnly = true; // act nav.NavigateForward(); nav.NavigateForward(); nav.NavigateForward(); var canStillNavigate = nav.CanNavigateForward; nav.IsReadOnly = false; var two = nav.NavigateForward(); // assert Assert.True(canStillNavigate); Assert.AreEqual(2, two); }
public void ForwardsNavigation_DuringReadOnlyMode_ProducesDefaultValue() { // arrange var nav = new NavigationHistory<int>(); nav.AddToHistory(1); nav.AddToHistory(2); nav.AddToHistory(3); nav.NavigateBackward(); nav.NavigateBackward(); nav.IsReadOnly = true; // act var zero = nav.NavigateForward(); // assert Assert.AreEqual(default(int), zero); }