public TestableWizardPage AddWizardPage ()
		{
			var page = new TestableWizardPage ();
			Pages.Add (page);
			page.PageNumber = Pages.Count;
			return page;
		}
        public void MoveFirst_TwoWizardPagesMovePastLastPageAndDispose_BothPagesDisposed()
        {
            CreateProvider();
            TestableWizardPage page1 = AddOneWizardPage();
            TestableWizardPage page2 = AddOneWizardPage();

            provider.MoveToFirstPage(template, parameters);
            provider.MoveToNextPage();

            provider.Dispose();

            Assert.IsTrue(page1.IsDisposed);
            Assert.IsTrue(page2.IsDisposed);
        }
        public void MovePrevious_MoveToSecondPageAndThenBackToFirst_FirstPageIsNotRequestedFromWizardAgain()
        {
            CreateProvider();
            TestableWizardPage page1 = AddOneWizardPage();
            TestableWizardPage page2 = AddOneWizardPage();

            provider.MoveToFirstPage(template, parameters);
            provider.MoveToNextPage();
            wizard.Pages.Clear();

            bool result = provider.MoveToPreviousPage();

            Assert.IsTrue(result);
            Assert.AreEqual(page1, provider.CurrentWizardPage);
            Assert.IsFalse(page1.IsDisposed);
            Assert.IsFalse(page2.IsDisposed);
        }