public void Wizard_MoveTo ()
		{
			PokerWizard wizard = new PokerWizard ();
			WizardStep step1 = new WizardStep ();
			step1.ID = "step1";
			step1.StepType = WizardStepType.Start;
			WizardStep step2 = new WizardStep ();
			step2.ID = "step2";
			step2.StepType = WizardStepType.Step;
			WizardStep step3 = new WizardStep ();
			step3.ID = "step3";
			step3.StepType = WizardStepType.Finish;
			wizard.WizardSteps.Add (step1);
			wizard.WizardSteps.Add (step2);
			wizard.WizardSteps.Add (step3);
			wizard.ActiveStepIndex = 0;
			wizard.MoveTo (step3);
			Assert.AreEqual (2, wizard.ActiveStepIndex, "MoveToStep3");
			wizard.MoveTo (step2);
			Assert.AreEqual (1, wizard.ActiveStepIndex, "MoveToStep2");
			wizard.MoveTo (step1);
			Assert.AreEqual (0, wizard.ActiveStepIndex, "MoveToStep1");
		}
		public static void _StartTypeRendering (Page p)
		{
			LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
			LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
			PokerWizard w = new PokerWizard ();
			WizardStep ws1 = new WizardStep ();
			WizardStep ws2 = new WizardStep ();

			ws1.ID = "step1";
			ws1.StepType = WizardStepType.Start;
			ws1.Controls.Add (new LiteralControl ("Start"));

			ws2.ID = "step2";
			ws2.StepType = WizardStepType.Finish;
			ws2.Controls.Add (new LiteralControl ("Finish"));
			
			w.StartNextButtonImageUrl = "StartNextButtonImageUrl";
			w.StartNextButtonStyle.BackColor = Color.Red;
			w.StartNextButtonText = "StartNextButtonText";
			w.StartNextButtonType = ButtonType.Button;

			w.WizardSteps.Add (ws1);
			w.WizardSteps.Add (ws2);
			p.Controls.Add (lcb);
			p.Controls.Add (w);
			p.Controls.Add (lce);
		}
		public static void _StepNavigationTemplate (Page p)
		{
			LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
			LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
			PokerWizard w = new PokerWizard ();
			WizardStep ws1 = new WizardStep ();
			WizardStep ws2 = new WizardStep ();

			ws1.ID = "step1";
			ws1.StepType = WizardStepType.Step;
			ws1.Controls.Add (new LiteralControl ("Step1"));

			ws2.ID = "step2";
			ws2.StepType = WizardStepType.Step;
			ws2.Controls.Add (new LiteralControl ("Step2"));

			w.StepNavigationTemplate = new CompiledTemplateBuilder (_StepNavigationTemplateCreator);

			w.WizardSteps.Add (ws1);
			w.WizardSteps.Add (ws2);
			p.Controls.Add (lcb);
			p.Controls.Add (w);
			p.Controls.Add (lce);
		}
		public static void _FinishButtonPropertyRendering (Page p)
		{
			LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
			LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
			PokerWizard w = new PokerWizard ();
			w.FinishCompleteButtonStyle.BorderColor = Color.Red;
			w.FinishCompleteButtonImageUrl = "http://FinishCompleteButtonImageUrl";
			w.FinishDestinationPageUrl = "FinishDestinationPageUrl";
			w.FinishCompleteButtonText = "FinishCompleteButtonText";
			w.FinishCompleteButtonType = ButtonType.Link;
			w.FinishPreviousButtonImageUrl = "http://FinishPreviousButtonImageUrl";
			w.FinishPreviousButtonStyle.BackColor = Color.Red;
			w.FinishPreviousButtonText = "FinishPreviousButtonText";
			w.FinishPreviousButtonType = ButtonType.Image;

			WizardStep ws0 = new WizardStep ();
			ws0.ID = "step0";
			ws0.StepType = WizardStepType.Start;
			ws0.Controls.Add (new LiteralControl ("Finish"));
			
			WizardStep ws1 = new WizardStep ();
			ws1.ID = "step1";
			ws1.StepType = WizardStepType.Finish;
			ws1.Controls.Add (new LiteralControl ("Finish"));
			
			w.DisplaySideBar = false;
			w.WizardSteps.Add (ws0);
			w.WizardSteps.Add (ws1);
			w.MoveTo (ws1);
			p.Controls.Add (lcb);
			p.Controls.Add (w);
			p.Controls.Add (lce);
		}
		public static void _SideBarRendering (Page p)
		{
			LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
			LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
			PokerWizard w = new PokerWizard ();
			
			w.SideBarButtonStyle.BackColor = Color.Red;
			w.SideBarStyle.BackColor = Color.Red;
			w.SideBarTemplate = new CompiledTemplateBuilder (_SideBarTemplate);

			WizardStep ws1 = new WizardStep ();
			ws1.ID = "step1";
			ws1.StepType = WizardStepType.Auto;
			ws1.Controls.Add (new LiteralControl ("Step 1"));

			WizardStep ws2 = new WizardStep ();
			ws2.ID = "step2";
			ws2.StepType = WizardStepType.Auto;
			ws2.Controls.Add (new LiteralControl ("Step 2"));

			w.WizardSteps.Add (ws1);
			w.WizardSteps.Add (ws2);
			p.Controls.Add (lcb);
			p.Controls.Add (w);
			p.Controls.Add (lce);
		}
		public void Wizard_DefaultProperty ()
		{
			PokerWizard wizard = new PokerWizard ();
			// Static members 
			Assert.AreEqual ("Cancel", Wizard.CancelCommandName, "CancelCommandName");
			Assert.AreEqual ("MoveComplete", Wizard.MoveCompleteCommandName, "MoveCompleteCommandName");
			Assert.AreEqual ("MoveNext", Wizard.MoveNextCommandName, "MoveNextCommandName");
			Assert.AreEqual ("MovePrevious", Wizard.MovePreviousCommandName, "MovePreviousCommandName");
			Assert.AreEqual ("Move", Wizard.MoveToCommandName, "MoveToCommandName");
#if NET_4_0
			Assert.AreEqual ("headerPlaceholder", Wizard.HeaderPlaceholderId, "HeaderPlaceHolderId");
			Assert.AreEqual ("navigationPlaceholder", Wizard.NavigationPlaceholderId, "NavigationPlaceHolderId");
			Assert.AreEqual ("sideBarPlaceholder", Wizard.SideBarPlaceholderId, "SidePlaceholderId");
			Assert.AreEqual ("wizardStepPlaceholder", Wizard.WizardStepPlaceholderId, "WizardStepPlaceholderId");
#endif
			// Protected Fields 
			Assert.AreEqual ("CancelButton", PokerWizard.PokerCancelButtonID, "CancelButtonID");
			Assert.AreEqual ("CustomFinishButton", PokerWizard.PokerCustomFinishButtonID, "CustomFinishButtonID");
			Assert.AreEqual ("CustomNextButton", PokerWizard.PokerCustomNextButtonID, "CustomNextButtonID");
			Assert.AreEqual ("CustomPreviousButton", PokerWizard.PokerCustomPreviousButtonID, "CustomPreviousButtonID");
			Assert.AreEqual ("SideBarList", PokerWizard.PokerDataListID, "DataListID");
			Assert.AreEqual ("FinishButton", PokerWizard.PokerFinishButtonID, "FinishButtonID");
			Assert.AreEqual ("FinishPreviousButton", PokerWizard.PokerFinishPreviousButtonID, "FinishPreviousButtonID");
			Assert.AreEqual ("SideBarButton", PokerWizard.PokerSideBarButtonID, "SideBarButtonID");
			Assert.AreEqual ("StartNextButton", PokerWizard.PokerStartNextButtonID, "StartNextButtonID");
			Assert.AreEqual ("StepNextButton", PokerWizard.PokerStepNextButtonID, "StepNextButtonID");
			Assert.AreEqual ("StepPreviousButton", PokerWizard.PokerStepPreviousButtonID, "StepPreviousButtonID");
			//Public Properties 
			Assert.AreEqual ("", wizard.CancelButtonImageUrl, "CancelButtonImageUrl");
			Assert.AreEqual (typeof (Style), wizard.CancelButtonStyle.GetType (), "CancelButtonStyle");
			Assert.AreEqual ("Cancel", wizard.CancelButtonText, "CancelButtonText");
			Assert.AreEqual (ButtonType.Button, wizard.CancelButtonType, "CancelButtonType");
			Assert.AreEqual ("", wizard.CancelDestinationPageUrl, "CancelDestinationPageUrl");
			Assert.AreEqual (0, wizard.CellPadding, "CellPadding");
			Assert.AreEqual (0, wizard.CellSpacing, "CellSpacing");
			Assert.AreEqual (false, wizard.DisplayCancelButton, "DisplayCancelButton");
			Assert.AreEqual (true, wizard.DisplaySideBar, "DisplaySideBar");
			Assert.AreEqual ("", wizard.FinishCompleteButtonImageUrl, "FinishCompleteButtonImageUrl");
			Assert.AreEqual (typeof (Style), wizard.FinishCompleteButtonStyle.GetType (), "FinishCompleteButtonStyle");
			Assert.AreEqual ("Finish", wizard.FinishCompleteButtonText, "FinishCompleteButtonText");
			Assert.AreEqual (ButtonType.Button, wizard.FinishCompleteButtonType, "FinishCompleteButtonType");
			Assert.AreEqual ("", wizard.FinishDestinationPageUrl, "FinishDestinationPageUrl");
			Assert.AreEqual (null, wizard.FinishNavigationTemplate, "FinishNavigationTemplate");
			Assert.AreEqual ("", wizard.FinishPreviousButtonImageUrl, "FinishPreviousButtonImageUrl");
			Assert.AreEqual (typeof (Style), wizard.FinishPreviousButtonStyle.GetType (), "FinishPreviousButtonStyle");
			Assert.AreEqual ("Previous", wizard.FinishPreviousButtonText, "FinishPreviousButtonText");
			Assert.AreEqual (ButtonType.Button, wizard.FinishPreviousButtonType, "FinishPreviousButtonType");
			Assert.AreEqual (typeof (TableItemStyle), wizard.HeaderStyle.GetType (), "HeaderStyle");
			Assert.AreEqual (null, wizard.HeaderTemplate, "HeaderTemplate");
			Assert.AreEqual ("", wizard.HeaderText, "HeaderText");
			Assert.AreEqual (typeof (Style), wizard.NavigationButtonStyle.GetType (), "NavigationButtonStyle");
			Assert.AreEqual (typeof (TableItemStyle), wizard.NavigationStyle.GetType (), "NavigationStyle");
			Assert.AreEqual (typeof (Style), wizard.SideBarButtonStyle.GetType (), "SideBarButtonStyle");
			Assert.AreEqual (typeof (TableItemStyle), wizard.SideBarStyle.GetType (), "SideBarStyle");
			Assert.AreEqual (null, wizard.SideBarTemplate, "SideBarTemplate");
			Assert.AreEqual (null, wizard.StartNavigationTemplate, "StartNavigationTemplate");
			Assert.AreEqual ("", wizard.StartNextButtonImageUrl, "StartNextButtonImageUrl");
			Assert.AreEqual (typeof (Style), wizard.StartNextButtonStyle.GetType (), "StartNextButtonStyle");
			Assert.AreEqual ("Next", wizard.StartNextButtonText, "StartNextButtonText");
			Assert.AreEqual (ButtonType.Button, wizard.StartNextButtonType, "StartNextButtonType");
			Assert.AreEqual (null, wizard.StepNavigationTemplate, "StepNavigationTemplate");
			Assert.AreEqual ("", wizard.StepNextButtonImageUrl, "StepNextButtonImageUrl");
			Assert.AreEqual (typeof (Style), wizard.StepNextButtonStyle.GetType (), "StepNextButtonStyle");
			Assert.AreEqual ("Next", wizard.StepNextButtonText, "StepNextButtonText");
			Assert.AreEqual (ButtonType.Button, wizard.StepNextButtonType, "StepNextButtonType");
			Assert.AreEqual ("", wizard.StepPreviousButtonImageUrl, "StepPreviousButtonImageUrl");
			Assert.AreEqual (typeof (Style), wizard.StepPreviousButtonStyle.GetType (), "StepPreviousButtonStyle");
			Assert.AreEqual ("Previous", wizard.StepPreviousButtonText, "StepPreviousButtonText");
			Assert.AreEqual (ButtonType.Button, wizard.StepPreviousButtonType, "StepPreviousButtonType");
			Assert.AreEqual (typeof (TableItemStyle), wizard.StepStyle.GetType (), "StepStyle");
			Assert.AreEqual (typeof (WizardStepCollection), wizard.WizardSteps.GetType (), "WizardSteps");
			Assert.IsNotNull (wizard.WizardSteps, "WizardSteps");
		}
		public void Wizard_StateBag ()
		{
			PokerWizard w = new PokerWizard ();
			Assert.AreEqual (0, w.Attributes.Count, "Attributes.Count");
			Assert.AreEqual (0, w.StateBag.Count, "ViewState.Count");

			w.CancelButtonImageUrl = "value";
			Assert.AreEqual ("value", w.CancelButtonImageUrl, "CancelButtonImageUrl");
			Assert.AreEqual (1, w.StateBag.Count, "ViewState.Count-1");

			w.CancelDestinationPageUrl = "value";
			Assert.AreEqual ("value", w.CancelDestinationPageUrl, "CancelDestinationPageUrl");
			Assert.AreEqual (2, w.StateBag.Count, "ViewState.Count-2");

			w.FinishCompleteButtonImageUrl = "value";
			Assert.AreEqual ("value", w.FinishCompleteButtonImageUrl, "FinishCompleteButtonImageUrl");
			Assert.AreEqual (3, w.StateBag.Count, "ViewState.Count-3");

			w.FinishDestinationPageUrl = "value";
			Assert.AreEqual ("value", w.FinishDestinationPageUrl, "FinishDestinationPageUrl");
			Assert.AreEqual (4, w.StateBag.Count, "ViewState.Count-4");

			w.FinishPreviousButtonImageUrl = "value";
			Assert.AreEqual ("value", w.FinishPreviousButtonImageUrl, "FinishPreviousButtonImageUrl");
			Assert.AreEqual (5, w.StateBag.Count, "ViewState.Count-5");

			w.StartNextButtonImageUrl = "value";
			Assert.AreEqual ("value", w.StartNextButtonImageUrl, "StartNextButtonImageUrl");
			Assert.AreEqual (6, w.StateBag.Count, "ViewState.Count-6");

			w.StepNextButtonImageUrl = "value";
			Assert.AreEqual ("value", w.StepNextButtonImageUrl, "StepNextButtonImageUrl");
			Assert.AreEqual (7, w.StateBag.Count, "ViewState.Count-7");

			w.StepPreviousButtonImageUrl = "value";
			Assert.AreEqual ("value", w.StepPreviousButtonImageUrl, "StepPreviousButtonImageUrl");
			Assert.AreEqual (8, w.StateBag.Count, "ViewState.Count-8");

			w.CancelButtonText = "value";
			Assert.AreEqual ("value", w.CancelButtonText, "CancelButtonText");
			Assert.AreEqual (9, w.StateBag.Count, "ViewState.Count-9");

			w.FinishCompleteButtonText = "value";
			Assert.AreEqual ("value", w.FinishCompleteButtonText, "FinishCompleteButtonText");
			Assert.AreEqual (10, w.StateBag.Count, "ViewState.Count-10");

			w.StartNextButtonText = "value";
			Assert.AreEqual ("value", w.StartNextButtonText, "StartNextButtonText");
			Assert.AreEqual (11, w.StateBag.Count, "ViewState.Count-11");

			w.StepNextButtonText = "value";
			Assert.AreEqual ("value", w.StepNextButtonText, "StepNextButtonText");
			Assert.AreEqual (12, w.StateBag.Count, "ViewState.Count-12");

			w.StepPreviousButtonText = "value";
			Assert.AreEqual ("value", w.StepPreviousButtonText, "StepPreviousButtonText");
			Assert.AreEqual (13, w.StateBag.Count, "ViewState.Count-13");

			w.CancelButtonType = ButtonType.Button;
			Assert.AreEqual (ButtonType.Button, w.CancelButtonType, "CancelButtonType");
			Assert.AreEqual (14, w.StateBag.Count, "ViewState.Count-14");

			w.FinishCompleteButtonType = ButtonType.Button;
			Assert.AreEqual (ButtonType.Button, w.FinishCompleteButtonType, "FinishCompleteButtonType");
			Assert.AreEqual (15, w.StateBag.Count, "ViewState.Count-15");

			w.FinishPreviousButtonType = ButtonType.Button;
			Assert.AreEqual (ButtonType.Button, w.FinishPreviousButtonType, "FinishPreviousButtonType");
			Assert.AreEqual (16, w.StateBag.Count, "ViewState.Count-16");

			w.StartNextButtonType = ButtonType.Button;
			Assert.AreEqual (ButtonType.Button, w.StartNextButtonType, "StartNextButtonType");
			Assert.AreEqual (17, w.StateBag.Count, "ViewState.Count-17");

			w.StepNextButtonType = ButtonType.Button;
			Assert.AreEqual (ButtonType.Button, w.StepNextButtonType, "StepNextButtonType");
			Assert.AreEqual (18, w.StateBag.Count, "ViewState.Count-18");

			w.StepPreviousButtonType = ButtonType.Button;
			Assert.AreEqual (ButtonType.Button, w.StepPreviousButtonType, "StepPreviousButtonType");
			Assert.AreEqual (19, w.StateBag.Count, "ViewState.Count-19");
		}
		public void Wizard_ViewState ()
		{
			PokerWizard wizard = new PokerWizard ();
			PokerWizard copy = new PokerWizard ();
			wizard.ControlStyle.BackColor = Color.Red;
			wizard.FinishCompleteButtonStyle.BackColor = Color.Red;
			wizard.FinishPreviousButtonStyle.BackColor = Color.Red;
			wizard.HeaderStyle.BackColor = Color.Red;
			wizard.NavigationButtonStyle.BackColor = Color.Red;
			wizard.NavigationStyle.BackColor = Color.Red;
			wizard.SideBarButtonStyle.BackColor = Color.Red;
			wizard.SideBarStyle.BackColor = Color.Red;
			wizard.StartNextButtonStyle.BackColor = Color.Red;
			wizard.StepPreviousButtonStyle.BackColor = Color.Red;
			wizard.StepNextButtonStyle.BackColor = Color.Red;
			wizard.StepStyle.BackColor = Color.Red;
			object state = wizard.SaveState ();
			copy.LoadState (state);
			Assert.AreEqual (Color.Red, copy.ControlStyle.BackColor, "ViewStateControlStyle");
			Assert.AreEqual (Color.Red, copy.FinishCompleteButtonStyle.BackColor, "ViewStateFinishCompleteButtonStyle");
			Assert.AreEqual (Color.Red, copy.FinishPreviousButtonStyle.BackColor, "ViewStateFinishPreviousButtonStyle");
			Assert.AreEqual (Color.Red, copy.HeaderStyle.BackColor, "ViewStateHeaderStyle");
			Assert.AreEqual (Color.Red, copy.NavigationButtonStyle.BackColor, "ViewStateNavigationButtonStyle");
			Assert.AreEqual (Color.Red, copy.NavigationStyle.BackColor, "ViewStateNavigationStyle");
			Assert.AreEqual (Color.Red, copy.SideBarButtonStyle.BackColor, "ViewStateSideBarButtonStyle");
			Assert.AreEqual (Color.Red, copy.SideBarStyle.BackColor, "ViewStateSideBarStyle");
			Assert.AreEqual (Color.Red, copy.StartNextButtonStyle.BackColor, "ViewStateStartNextButtonStyle");
			Assert.AreEqual (Color.Red, copy.StepNextButtonStyle.BackColor, "ViewStateStepNextButtonStyle");
			Assert.AreEqual (Color.Red, copy.StepStyle.BackColor, "ViewStateStepStyle");
		}
		public void Wizard_Steps ()
		{
			PokerWizard w = new PokerWizard ();
			Assert.AreEqual (-1, w.ActiveStepIndex, "ActiveStepIndex on no steps");

			w.WizardSteps.Add (new WizardStep ());
			Assert.IsNotNull (w.WizardSteps[0].Wizard, "WizardStep.Wizard");
			Assert.AreEqual (WizardStepType.Finish, w.GetStepType (w.WizardSteps[0], 0), "WizardStepType.Finish");
		}
		public void Wizard_CreateControlStyle ()
		{
			PokerWizard wizard = new PokerWizard ();
			Style style = wizard.PokerCreateControlStyle ();
			Assert.AreEqual (typeof (TableStyle), style.GetType (), "CreateControlStyle#1");
			Assert.AreEqual (0, ((TableStyle) style).CellPadding, "CreateControlStyle#2");
			Assert.AreEqual (0, ((TableStyle) style).CellSpacing, "CreateControlStyle#3");
		}
		public void Wizard_ControlState ()
		{
			PokerWizard wizard = new PokerWizard ();
			WizardStep step1 = new WizardStep ();
			step1.ID = "step1";
			step1.StepType = WizardStepType.Start;
			WizardStep step3 = new WizardStep ();
			step3.ID = "step3";
			step3.StepType = WizardStepType.Finish;
			wizard.WizardSteps.Add (step1);
			wizard.WizardSteps.Add (step3);
			wizard.ActiveStepIndex = 0;
			wizard.MoveTo (step3);
			// LAMESPEC: history updated when SaveControlState occured
			Assert.AreEqual (0, ((ArrayList) wizard.GetHistory ()).Count, "ControlState#1");
			object o = wizard.PokerSaveControlState ();
			wizard.PokerLoadControlState (o);
			wizard.MoveTo (step1);
			Assert.AreEqual (0, wizard.ActiveStepIndex, "ControlState#2");
			wizard.PokerLoadControlState (o);
			Assert.AreEqual (1, wizard.ActiveStepIndex, "ControlState#3");
			Assert.AreEqual (1, ((ArrayList) wizard.GetHistory ()).Count, "ControlState#4");
		}
		public void Wizard_CreateControlCollection ()
		{
			PokerWizard wizard = new PokerWizard ();
			ControlCollection collection = wizard.PokerCreateControlCollection ();
			Assert.IsNotNull (collection, "CreateControlCollection");
			Assert.AreEqual (0, collection.Count, "CreateControlCollection#1");
		}
		public void Wizard_AllowNavigationToStep_NoIndexCheck ()
		{
			PokerWizard wizard = new PokerWizard ();
			Assert.IsTrue (wizard.PokerAllowNavigationToStep (0), "#A1-1");
			Assert.IsTrue (wizard.PokerAllowNavigationToStep (10), "#A1-2");
			Assert.IsTrue (wizard.PokerAllowNavigationToStep (-10), "#A1-3");
		}
		public void Wizard_AllowNavigationToStep ()
		{
			PokerWizard wizard = new PokerWizard ();
			WizardStep step1 = new WizardStep ();
			step1.ID = "step1";
			step1.StepType = WizardStepType.Start;
			WizardStep step2 = new WizardStep ();
			step2.ID = "step2";
			step2.StepType = WizardStepType.Step;
			WizardStep step3 = new WizardStep ();
			step3.ID = "step3";
			step3.StepType = WizardStepType.Finish;
			wizard.WizardSteps.Add (step1);
			wizard.WizardSteps.Add (step2);
			wizard.WizardSteps.Add (step3);
			wizard.ActiveStepIndex = 0;
			wizard.MoveTo (step3);
			object o = wizard.PokerSaveControlState ();
			wizard.PokerLoadControlState (o);
			bool result = wizard.PokerAllowNavigationToStep (2);
			Assert.AreEqual (true, result, "AllowNavigationToStep#1");
			step3.AllowReturn = false;
			result = wizard.PokerAllowNavigationToStep (2);
			Assert.AreEqual (false, result, "AllowNavigationToStep#2");
		}
		public void Wizard_BubbleEvent_MoveTo ()
		{
			PokerWizard wizard = new PokerWizard ();
			WizardStep step1 = new WizardStep ();
			step1.ID = "step1";
			step1.StepType = WizardStepType.Start;
			WizardStep step2 = new WizardStep ();
			step2.ID = "step2";
			step2.StepType = WizardStepType.Finish;
			wizard.WizardSteps.Add (step1);
			wizard.WizardSteps.Add (step2);
			wizard.ActiveStepIndex = 0;
			CommandEventArgs e = new CommandEventArgs (Wizard.MoveToCommandName, "1");
			bool result = wizard.DoBubbleEvent (null, e);
			Assert.AreEqual (true, result, "MoveToEventCommand");
			Assert.AreEqual (1, wizard.ActiveStepIndex, "ActiveStepIndexAfterMoveToBubble");
		}
		public void Wizard_ActiveStepChanged ()
		{
			PokerWizard wizard = new PokerWizard ();
			wizard.ActiveStepChanged += new EventHandler (wizard_handler);
			wizard.DoOnActiveStepChanged (this, new EventArgs ());
			eventassert ("ActiveStepChanged");
		}
		public void Wizard_ViewStateException ()
		{
			PokerWizard wizard = new PokerWizard ();
			wizard.LoadState (new object ());
		}
		public void Wizard_CancelButtonClick ()
		{
			PokerWizard wizard = new PokerWizard ();
			wizard.CancelButtonClick += new EventHandler (wizard_handler);
			wizard.DoOnCancelButtonClick (new EventArgs ());
			eventassert ("CancelButtonClick");
		}
		public void Wizard_DefaultPropertyNotWorking ()
		{
			PokerWizard wizard = new PokerWizard ();
			Assert.AreEqual (null, wizard.ActiveStep, "ActiveStep");
			Assert.AreEqual ("Skip Navigation Links.", wizard.SkipLinkText, "SkipLinkText");
			// Protected Properties 
			Assert.AreEqual (typeof (HtmlTextWriterTag), wizard.PokerTagKey.GetType (), "TagKey");
		}
		public void Wizard_FinishButtonClick ()
		{
			PokerWizard wizard = new PokerWizard ();
			wizard.FinishButtonClick += new WizardNavigationEventHandler (wizard_handler);
			wizard.DoOnFinishButtonClick (new WizardNavigationEventArgs (0, 0));
			eventassert ("FinishButtonClick");
		}
		public static void _CancelButtonPropertyRendering (Page p)
		{
			LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
			LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
			PokerWizard w = new PokerWizard ();
			w.CancelButtonStyle.BorderColor = Color.Red;
			w.CancelButtonImageUrl = "CancelButtonImageUrl";
			w.CancelDestinationPageUrl = "CancelDestinationPageUrl";
			w.CancelButtonText = "CancelButtonText";
			w.CancelButtonType = ButtonType.Button;
			w.DisplayCancelButton = true;
			
			WizardStep ws1 = new WizardStep ();
			ws1.ID = "step1";
			ws1.StepType = WizardStepType.Start;
			ws1.Controls.Add (new LiteralControl ("Start"));

			WizardStep ws2 = new WizardStep ();
			ws2.ID = "step2";
			ws2.StepType = WizardStepType.Finish;
			ws2.Controls.Add (new LiteralControl ("Finish"));

			w.DisplaySideBar = false;
			w.WizardSteps.Add (ws1);
			w.WizardSteps.Add (ws2);
			p.Controls.Add(lcb);
			p.Controls.Add (w);
			p.Controls.Add (lce);
		}
		public void Wizard_PreviousButtonClick ()
		{
			PokerWizard wizard = new PokerWizard ();
			wizard.PreviousButtonClick += new WizardNavigationEventHandler (wizard_handler);
			wizard.DoOnPreviousButtonClick (new WizardNavigationEventArgs (0, 1));
			eventassert ("PreviousButtonClick");
		}
		public static void _HeaderRendering (Page p)
		{
			LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
			LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
			PokerWizard w = new PokerWizard ();
			w.HeaderStyle.BackColor = Color.Red;
			w.HeaderTemplate = new CompiledTemplateBuilder (_BuildHeader);
			w.HeaderText = "test";

			WizardStep ws0 = new WizardStep ();
			ws0.ID = "step0";
			ws0.StepType = WizardStepType.Start;
			ws0.Controls.Add (new LiteralControl ("Start"));
			
			WizardStep ws1 = new WizardStep ();
			ws1.ID = "step1";
			ws1.StepType = WizardStepType.Finish;
			ws1.Controls.Add (new LiteralControl ("Finish"));
			
			w.DisplaySideBar = false;
			w.WizardSteps.Add (ws0);
			w.WizardSteps.Add (ws1);
			w.MoveTo (ws1);
			p.Controls.Add (lcb);
			p.Controls.Add (w);
			p.Controls.Add (lce);
		}
		public void Wizard_SideBarButtonClick ()
		{
			PokerWizard wizard = new PokerWizard ();
			wizard.SideBarButtonClick += new WizardNavigationEventHandler (wizard_handler);
			wizard.DoOnSideBarButtonClick (new WizardNavigationEventArgs (0, 1));
			eventassert ("SideBarButtonClick");
		}
		public static void _NavigationRendering (Page p)
		{
			LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
			LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
			PokerWizard w = new PokerWizard ();
			WizardStep ws1 = new WizardStep ();
			WizardStep ws2 = new WizardStep ();
			
			ws1.ID = "step1";
			ws1.StepType = WizardStepType.Start;
			ws1.Controls.Add (new LiteralControl ("Start"));

			ws2.ID = "step2";
			ws2.StepType = WizardStepType.Start;
			ws2.Controls.Add (new LiteralControl ("Finish"));
			
			w.NavigationButtonStyle.BackColor = Color.Red;
			w.NavigationStyle.BackColor = Color.Yellow;
			
			w.WizardSteps.Add (ws1);
			w.WizardSteps.Add (ws2);
			p.Controls.Add (lcb);
			p.Controls.Add (w);
			p.Controls.Add (lce);
		}
		public void Wizard_BubbleEvent_CancelEvent ()
		{
			PokerWizard wizard = new PokerWizard ();
			wizard.CancelButtonClick += new EventHandler (wizard_handler);
			WizardStep step1 = new WizardStep ();
			step1.ID = "step1";
			step1.StepType = WizardStepType.Start;
			WizardStep step3 = new WizardStep ();
			step3.ID = "step3";
			step3.StepType = WizardStepType.Finish;
			wizard.WizardSteps.Add (step1);
			wizard.WizardSteps.Add (step3);
			wizard.ActiveStepIndex = 0;
			CommandEventArgs e = new CommandEventArgs (Wizard.CancelCommandName, null);
			bool result = wizard.DoBubbleEvent (null, e);
			Assert.AreEqual (true, result, "CancelButtonBubbleEventCommand");
			eventassert ("OnCancelButtonClick");
		}
		public static void _StepTypeRendering (Page p)
		{
			LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
			LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
			PokerWizard w = new PokerWizard ();
			WizardStep ws1 = new WizardStep ();
			WizardStep ws2 = new WizardStep ();
			WizardStep ws3 = new WizardStep ();

			ws1.ID = "step1";
			ws1.StepType = WizardStepType.Start;
			ws1.Controls.Add (new LiteralControl ("Step1"));

			ws2.ID = "step2";
			ws2.StepType = WizardStepType.Step;
			ws2.Controls.Add (new LiteralControl ("Step2"));

			ws3.ID = "step3";
			ws3.StepType = WizardStepType.Finish;
			ws3.Controls.Add (new LiteralControl ("Step3"));

			w.StepNextButtonImageUrl = "http://StepNextButtonImageUrl";
			w.StepNextButtonStyle.BackColor = Color.Red;
			w.StepNextButtonText = "StepNextButtonText";
			w.StepNextButtonType = ButtonType.Image;
			w.StepPreviousButtonImageUrl = "http://StepPreviousButtonImageUrl";
			w.StepPreviousButtonStyle.BackColor = Color.Red;
			w.StepPreviousButtonText = "StepPreviousButtonText";
			w.StepPreviousButtonType = ButtonType.Link;
			w.StepStyle.BackColor = Color.Red;
			
			w.WizardSteps.Add (ws1);
			w.WizardSteps.Add (ws2);
			w.WizardSteps.Add (ws3);
			w.MoveTo (ws2);

			p.Controls.Add (lcb);
			p.Controls.Add (w);
			p.Controls.Add (lce);
		}
		public void Wizard_BubbleEvent_MoveComplete ()
		{
			PokerWizard wizard = new PokerWizard ();
			wizard.FinishButtonClick += new WizardNavigationEventHandler (wizard_handler);
			WizardStep step1 = new WizardStep ();
			step1.ID = "step1";
			step1.StepType = WizardStepType.Start;
			WizardStep step2 = new WizardStep ();
			step2.ID = "step2";
			step2.StepType = WizardStepType.Finish;
			WizardStep step3 = new WizardStep ();
			step3.ID = "step2";
			step3.StepType = WizardStepType.Complete;
			wizard.WizardSteps.Add (step1);
			wizard.WizardSteps.Add (step2);
			wizard.WizardSteps.Add (step3);
			wizard.ActiveStepIndex = 1;
			CommandEventArgs e = new CommandEventArgs (Wizard.MoveCompleteCommandName, null);
			bool result = wizard.DoBubbleEvent (null, e);
			Assert.AreEqual (true, result, "MoveCompleteEventCommand");
			eventassert ("MoveCompleteBubbleEvent");
		}
		public void Wizard_AssignProperty ()
		{
			PokerWizard wizard = new PokerWizard ();
			wizard.CancelButtonImageUrl = "test";
			Assert.AreEqual ("test", wizard.CancelButtonImageUrl, "CancelButtonImageUrl");
			wizard.CancelButtonStyle.BackColor = Color.Red;
			Assert.AreEqual (Color.Red, wizard.CancelButtonStyle.BackColor, "CancelButtonStyle");
			wizard.CancelButtonText = "test";
			Assert.AreEqual ("test", wizard.CancelButtonText, "CancelButtonText");
			wizard.CancelButtonType = ButtonType.Image;
			Assert.AreEqual (ButtonType.Image, wizard.CancelButtonType, "CancelButtonType");
			wizard.CancelDestinationPageUrl = "test";
			Assert.AreEqual ("test", wizard.CancelDestinationPageUrl, "CancelDestinationPageUrl");
			wizard.CellPadding = 1;
			Assert.AreEqual (1, wizard.CellPadding, "CellPadding");
			wizard.CellSpacing = 1;
			Assert.AreEqual (1, wizard.CellSpacing, "CellSpacing");
			wizard.DisplayCancelButton = true;
			Assert.AreEqual (true, wizard.DisplayCancelButton, "DisplayCancelButton");
			wizard.DisplaySideBar = false;
			Assert.AreEqual (false, wizard.DisplaySideBar, "DisplaySideBar");
			wizard.FinishCompleteButtonImageUrl = "test";
			Assert.AreEqual ("test", wizard.FinishCompleteButtonImageUrl, "FinishCompleteButtonImageUrl");
			wizard.FinishCompleteButtonStyle.BackColor = Color.Red;
			Assert.AreEqual (Color.Red, wizard.FinishCompleteButtonStyle.BackColor, "FinishCompleteButtonStyle");
			wizard.FinishCompleteButtonText = "test";
			Assert.AreEqual ("test", wizard.FinishCompleteButtonText, "FinishCompleteButtonText");
			wizard.FinishCompleteButtonType = ButtonType.Image;
			Assert.AreEqual (ButtonType.Image, wizard.FinishCompleteButtonType, "FinishCompleteButtonType");
			wizard.FinishDestinationPageUrl = "test";
			Assert.AreEqual ("test", wizard.FinishDestinationPageUrl, "FinishDestinationPageUrl");
			wizard.FinishNavigationTemplate = new ImageTemplate ();
			Assert.AreEqual (typeof (ImageTemplate), wizard.FinishNavigationTemplate.GetType (), "FinishNavigationTemplate");
			wizard.FinishPreviousButtonImageUrl = "test";
			Assert.AreEqual ("test", wizard.FinishPreviousButtonImageUrl, "FinishPreviousButtonImageUrl");
			wizard.FinishPreviousButtonStyle.BackColor = Color.Red;
			Assert.AreEqual (Color.Red, wizard.FinishPreviousButtonStyle.BackColor, "FinishPreviousButtonStyle");
			wizard.FinishPreviousButtonText = "test";
			Assert.AreEqual ("test", wizard.FinishPreviousButtonText, "FinishPreviousButtonText");
			wizard.FinishPreviousButtonType = ButtonType.Image;
			Assert.AreEqual (ButtonType.Image, wizard.FinishPreviousButtonType, "FinishPreviousButtonType");
			wizard.HeaderStyle.BackColor = Color.Red;
			Assert.AreEqual (Color.Red, wizard.HeaderStyle.BackColor, "HeaderStyle");
			wizard.HeaderTemplate = new ImageTemplate ();
			Assert.AreEqual (typeof (ImageTemplate), wizard.HeaderTemplate.GetType (), "HeaderTemplate");
			wizard.HeaderText = "test";
			Assert.AreEqual ("test", wizard.HeaderText, "HeaderText");
			wizard.NavigationButtonStyle.BackColor = Color.Red;
			Assert.AreEqual (Color.Red, wizard.NavigationButtonStyle.BackColor, "NavigationButtonStyle");
			wizard.NavigationStyle.BackColor = Color.Red;
			Assert.AreEqual (Color.Red, wizard.NavigationStyle.BackColor, "NavigationStyle");
			wizard.SideBarButtonStyle.BackColor = Color.Red;
			wizard.SideBarButtonStyle.BackColor = Color.Red;
			Assert.AreEqual (Color.Red, wizard.SideBarButtonStyle.BackColor, "SideBarButtonStyle");
			wizard.SideBarStyle.BackColor = Color.Red;
			Assert.AreEqual (Color.Red, wizard.SideBarStyle.BackColor, "SideBarStyle");
			wizard.SideBarTemplate = new ImageTemplate ();
			Assert.AreEqual (typeof (ImageTemplate), wizard.SideBarTemplate.GetType (), "SideBarTemplate");
			// SkipLinkText throws System.NotImplementedException look not workihg properties
			// wizard.SkipLinkText = "test";
			// Assert.AreEqual ("test", wizard.SkipLinkText, "SkipLinkText");
			wizard.StartNavigationTemplate = new ImageTemplate ();
			Assert.AreEqual (typeof (ImageTemplate), wizard.StartNavigationTemplate.GetType (), "StartNavigationTemplate");
			wizard.StartNextButtonImageUrl = "test";
			Assert.AreEqual ("test", wizard.StartNextButtonImageUrl, "StartNextButtonImageUrl");
			wizard.StartNextButtonStyle.BackColor = Color.Red;
			Assert.AreEqual (Color.Red, wizard.StartNextButtonStyle.BackColor, "StartNextButtonStyle");
			wizard.StartNextButtonText = "test";
			Assert.AreEqual ("test", wizard.StartNextButtonText, "StartNextButtonText");
			wizard.StartNextButtonType = ButtonType.Image;
			Assert.AreEqual (ButtonType.Image, wizard.StartNextButtonType, "StartNextButtonType");
			wizard.StepNavigationTemplate = new ImageTemplate ();
			Assert.AreEqual (typeof (ImageTemplate), wizard.StepNavigationTemplate.GetType (), "StepNavigationTemplate");
			wizard.StepNextButtonImageUrl = "test";
			Assert.AreEqual ("test", wizard.StepNextButtonImageUrl, "StepNextButtonImageUrl");
			wizard.StepNextButtonStyle.BackColor = Color.Red;
			Assert.AreEqual (Color.Red, wizard.StepNextButtonStyle.BackColor, "StepNextButtonStyle");
			wizard.StepNextButtonText = "test";
			Assert.AreEqual ("test", wizard.StepNextButtonText, "StepNextButtonText");
			wizard.StepNextButtonType = ButtonType.Image;
			Assert.AreEqual (ButtonType.Image, wizard.StepNextButtonType, "StepNextButtonType");
			wizard.StepPreviousButtonImageUrl = "test";
			Assert.AreEqual ("test", wizard.StepPreviousButtonImageUrl, "StepPreviousButtonImageUrl");
			wizard.StepPreviousButtonStyle.BackColor = Color.Red;
			Assert.AreEqual (Color.Red, wizard.StepPreviousButtonStyle.BackColor, "StepPreviousButtonStyle");
			wizard.StepPreviousButtonText = "test";
			Assert.AreEqual ("test", wizard.StepPreviousButtonText, "StepPreviousButtonText");
			wizard.StepPreviousButtonType = ButtonType.Image;
			Assert.AreEqual (ButtonType.Image, wizard.StepPreviousButtonType, "StepPreviousButtonType");
			wizard.StepStyle.BackColor = Color.Red;
			Assert.AreEqual (Color.Red, wizard.StepStyle.BackColor, "StepStyle");
		}
		public void Wizard_GetStepType ()
		{
			PokerWizard wizard = new PokerWizard ();
			WizardStep step1 = new WizardStep ();
			step1.ID = "step1";
			step1.StepType = WizardStepType.Start;
			wizard.WizardSteps.Add (step1);
			wizard.ActiveStepIndex = 0;
			WizardStepType result = wizard.GetStepType (wizard.ActiveStep, wizard.ActiveStepIndex);
			Assert.AreEqual (WizardStepType.Start, result, "GetStepType");
		}