public void TestCompleteRun_2Steps() { var tour = new Tour(); tour.Steps = new[] { new Step("1", "Header1", "Content1"), new Step("2", "Header2", "Content2"), }; var manager = new VisualElementManagerMock(tour.Steps); var windowManager = new WindowManagerMock(); var popupNavigator = new PopupNavigatorMock(); var tourRun = new TourRun(tour, manager, windowManager, popupNavigator); tourRun.Start(); Assert.AreEqual(tour.Steps[0], tourRun.CurrentStep); Assert.AreEqual(1, tourRun.CurrentStepNo); Assert.IsTrue(tourRun.CanNextStep()); Assert.IsTrue(tourRun.NextStep()); Assert.AreEqual(tour.Steps[1], tourRun.CurrentStep); Assert.AreEqual(2, tourRun.CurrentStepNo); Assert.IsFalse(tourRun.CanNextStep()); Assert.IsFalse(tourRun.NextStep()); tourRun.Close(); AssertManagerIsClean(popupNavigator, windowManager); }
public void TestCompleteRun_2Steps_WithPreviouse() { var tour = new Tour(); tour.Steps = new[] { new Step("1", "Header1", "Content1"), new Step("2", "Header2", "Content2"), }; var manager = new VisualElementManagerMock(tour.Steps); var windowManager = new WindowManagerMock(); var popupNavigator = new PopupNavigatorMock(); var tourRun = new TourRun(tour, manager, windowManager, popupNavigator); Assert.IsNull(popupNavigator.ViewModel); tourRun.Start(); Assert.IsNotNull(popupNavigator.ViewModel); AssertStep(tour, 0, tourRun, popupNavigator); Assert.IsTrue(tourRun.CanNextStep()); Assert.IsTrue(tourRun.NextStep()); AssertStep(tour, 1, tourRun, popupNavigator); Assert.IsTrue(tourRun.CanPreviousStep()); Assert.IsTrue(tourRun.PreviousStep()); AssertStep(tour, 0, tourRun, popupNavigator); Assert.IsFalse(tourRun.PreviousStep()); Assert.IsFalse(tourRun.PreviousStep()); tourRun.Close(); AssertManagerIsClean(popupNavigator, windowManager); }
public void OnStepEnteredLeavedClosed() { var c = new Counter(); var navigator = FeatureTour.GetNavigator(); navigator.OnStepEntered("ID1").Execute(s => c.entered1++); navigator.OnStepEntered("ID2").Execute(s => c.entered2++); navigator.OnStepLeft("ID1").Execute(s => c.leaved1++); navigator.OnStepLeft("ID2").Execute(s => c.leaved2++); navigator.OnClosed().Execute(s => c.closed++); var tour = new Tour(); tour.Steps = new[] { new Step("1", "Header1", "Content1", "ID1"), new Step("2", "Header2", "Content2", "ID2"), }; var manager = new VisualElementManagerMock(tour.Steps); var tourRun = new TourRun(tour, manager, new WindowManagerMock(), new PopupNavigatorMock()); AssertIsCounter(c, 0, 0, 0, 0, 0); FeatureTour.SetTourRun(tourRun); AssertIsCounter(c, 0, 0, 0, 0, 0); tourRun.Start(); AssertIsCounter(c, 1, 0, 0, 0, 0); tourRun.NextStep(); AssertIsCounter(c, 1, 1, 1, 0, 0); tourRun.PreviousStep(); AssertIsCounter(c, 2, 1, 1, 1, 0); tourRun.Close(); AssertIsCounter(c, 2, 2, 1, 1, 1); FeatureTour.SetCurrentRunNull(); }