public void TestControlManagerCreatorCalledIfSet() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = CreateHabaneroMenuFullySetup(); HabaneroMenu submenu = habaneroMenu.AddSubMenu(TestUtil.GetRandomString()); HabaneroMenu.Item menuItem = submenu.AddMenuItem(TestUtil.GetRandomString()); bool called = false; IControlFactory controlFactoryPassedToCreator = null; ControlManagerCreator formControlCreatorDelegate = delegate(IControlFactory controlFactory) { called = true; controlFactoryPassedToCreator = controlFactory; return(new ControlManagerStub(controlFactory)); }; menuItem.ControlManagerCreator += formControlCreatorDelegate; IMenuBuilder menuBuilder = CreateMenuBuilder(); IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); menu.DockInForm(habaneroMenu.Form); IMenuItem formsMenuItem = menu.MenuItems[0].MenuItems[0]; //---------------Execute Test ---------------------- formsMenuItem.PerformClick(); //---------------Test Result ----------------------- Assert.IsTrue(called); Assert.AreSame(habaneroMenu.ControlFactory, controlFactoryPassedToCreator); }
public void TestHandlesError_FromControlManagerCreator() { //---------------Set up test pack------------------- MockExceptionNotifier exceptionNotifier = new MockExceptionNotifier(); GlobalRegistry.UIExceptionNotifier = exceptionNotifier; Exception exception = new Exception(); HabaneroMenu habaneroMenu = CreateHabaneroMenuFullySetup(); HabaneroMenu submenu = habaneroMenu.AddSubMenu(TestUtil.GetRandomString()); HabaneroMenu.Item menuItem = submenu.AddMenuItem(TestUtil.GetRandomString()); menuItem.ControlManagerCreator += delegate { throw exception; }; IMenuBuilder menuBuilder = CreateMenuBuilder(); IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); IMenuItem formsMenuItem = menu.MenuItems[0].MenuItems[0]; menu.DockInForm(habaneroMenu.Form); //-------------Assert Preconditions ------------- Assert.IsNull(exceptionNotifier.Exception); Assert.IsNull(exceptionNotifier.FurtherMessage); Assert.IsNull(exceptionNotifier.Title); //---------------Execute Test ---------------------- formsMenuItem.PerformClick(); //---------------Test Result ----------------------- Assert.AreEqual(exception, exceptionNotifier.Exception); Assert.IsNull(null, exceptionNotifier.FurtherMessage); Assert.IsNull(null, exceptionNotifier.Title); }
public virtual void Test_Click_WhenFormControlCreatorSet_ShouldCallSetFormOnFormControl() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = CreateHabaneroMenuFullySetup(); HabaneroMenu submenu = habaneroMenu.AddSubMenu(TestUtil.GetRandomString()); HabaneroMenu.Item menuItem = submenu.AddMenuItem(TestUtil.GetRandomString()); bool creatorCalled = false; IFormControlStub formControlStub = CreateFormControlStub(); FormControlCreator formControlCreatorDelegate = delegate { creatorCalled = true; return(formControlStub); }; menuItem.FormControlCreator += formControlCreatorDelegate; IMenuBuilder menuBuilder = CreateMenuBuilder(); IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); menu.DockInForm(habaneroMenu.Form); IMenuItem formsMenuItem = menu.MenuItems[0].MenuItems[0]; //--------------- Test Preconditions ---------------- Assert.IsFalse(creatorCalled); Assert.IsFalse(formControlStub.SetFormCalled); Assert.IsNull(formControlStub.SetFormArgument); //---------------Execute Test ---------------------- formsMenuItem.PerformClick(); //---------------Test Result ----------------------- Assert.IsTrue(creatorCalled); Assert.IsTrue(formControlStub.SetFormCalled); Assert.IsNotNull(formControlStub.SetFormArgument); }
public void TestMultiLevels() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = new HabaneroMenu("Main"); string subMenuName = TestUtil.GetRandomString(); HabaneroMenu submenu = habaneroMenu.AddSubMenu(subMenuName); string menuItemName1 = TestUtil.GetRandomString(); submenu.AddMenuItem(menuItemName1); string subsubMenuName = TestUtil.GetRandomString(); HabaneroMenu subsubmenu = submenu.AddSubMenu(subsubMenuName); string menuItemName2 = TestUtil.GetRandomString(); subsubmenu.AddMenuItem(menuItemName2); IMenuBuilder menuBuilder = CreateMenuBuilder(); //---------------Execute Test ---------------------- IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); //---------------Test Result ----------------------- Assert.AreEqual(1, menu.MenuItems.Count); IMenuItem createdSubMenu = menu.MenuItems[0]; Assert.AreEqual(2, createdSubMenu.MenuItems.Count); IMenuItem createdSubsubMenu = createdSubMenu.MenuItems[0]; Assert.AreEqual(1, createdSubsubMenu.MenuItems.Count); Assert.AreEqual(menuItemName1, createdSubMenu.MenuItems[1].Text); Assert.AreEqual(menuItemName2, createdSubsubMenu.MenuItems[0].Text); }
public void Test_PerformClick_WhenMenuFormHasNoControlSet_ShouldNotCallCreators() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = new HabaneroMenu("Main", GetControlFactory().CreateForm(), GetControlFactory()); HabaneroMenu submenu = habaneroMenu.AddSubMenu(TestUtil.GetRandomString()); HabaneroMenu.Item menuItem = submenu.AddMenuItem(TestUtil.GetRandomString()); bool called = false; menuItem.FormControlCreator = delegate { called = true; return(CreateFormControlStub()); }; menuItem.ControlManagerCreator = delegate { called = true; return(new ControlManagerStub(GetControlFactory())); }; IMenuBuilder menuBuilder = CreateMenuBuilder(); IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); //---------------Assert Precondition --------------- Assert.IsNotNull(menuItem.Form); Assert.AreEqual(0, menuItem.Form.Controls.Count); //---------------Execute Test ---------------------- IMenuItem formsMenuItem = menu.MenuItems[0].MenuItems[0]; formsMenuItem.PerformClick(); //---------------Test Result ----------------------- Assert.IsFalse(called); }
public void TestClickMenuItemTwiceOnlyLeavesSameControlDocked() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = CreateHabaneroMenuFullySetup(); HabaneroMenu submenu = habaneroMenu.AddSubMenu(TestUtil.GetRandomString()); HabaneroMenu.Item menuItem = submenu.AddMenuItem(TestUtil.GetRandomString()); IFormControl expectedFormControl = CreateFormControlStub(); menuItem.FormControlCreator += (() => expectedFormControl); IMenuBuilder menuBuilder = CreateMenuBuilder(); IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); menu.DockInForm(habaneroMenu.Form); IMenuItem formsMenuItem = menu.MenuItems[0].MenuItems[0]; formsMenuItem.PerformClick(); //-------------Assert Preconditions ------------- AssertControlDockedInForm((IControlHabanero)expectedFormControl, (IFormHabanero)habaneroMenu.Form); //---------------Execute Test ---------------------- formsMenuItem.PerformClick(); //---------------Test Result ----------------------- AssertControlDockedInForm((IControlHabanero)expectedFormControl, (IFormHabanero)habaneroMenu.Form); }
public void TestSimpleMenuStructure_AddsCollapsiblePanels() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = new HabaneroMenu("Main"); string subMenuName = TestUtil.GetRandomString(); HabaneroMenu submenu = habaneroMenu.AddSubMenu(subMenuName); string menuItemName = TestUtil.GetRandomString(); submenu.AddMenuItem(menuItemName); IMenuBuilder menuBuilder = CreateMenuBuilder(); //---------------Assert Preconditions--------------- Assert.AreEqual(1, habaneroMenu.Submenus.Count); //---------------Execute Test ---------------------- IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); //---------------Test Result ----------------------- Assert.IsInstanceOf(typeof(ICollapsiblePanelGroupControl), menu); ICollapsiblePanelGroupControl menuAsCP = (ICollapsiblePanelGroupControl)menu; Assert.AreEqual(1, menuAsCP.PanelsList.Count); ICollapsiblePanel collapsiblePanel = menuAsCP.PanelsList[0]; Assert.IsNotNull(collapsiblePanel); Assert.IsNotNull(collapsiblePanel.ContentControl); Assert.AreEqual(1, collapsiblePanel.ContentControl.Controls.Count); }
public virtual void Test_CreateLeafMenuItems_ShouldCreatePanelWithLeafMenu() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = new HabaneroMenu("Main"); string subMenuName = TestUtil.GetRandomString(); HabaneroMenu submenu = habaneroMenu.AddSubMenu(subMenuName); string menuItemName1 = TestUtil.GetRandomString(); submenu.AddMenuItem(menuItemName1); submenu.AddMenuItem(TestUtil.GetRandomString()); CollapsibleMenuBuilderVWG menuBuilder = (CollapsibleMenuBuilderVWG)CreateMenuBuilder(); IMenuItem menuItem = new CollapsibleSubMenuItemVWG(GetControlFactory(), "Some Sub Menu"); //---------------Assert Precondition---------------- Assert.AreEqual(0, menuItem.MenuItems.Count); ICollapsiblePanel menuItemAsControl = (ICollapsiblePanel)menuItem; Assert.AreEqual(1, menuItemAsControl.Controls.Count); Assert.AreEqual(2, submenu.MenuItems.Count); //---------------Execute Test ---------------------- menuBuilder.CreateLeafMenuItems(submenu, menuItem); //---------------Test Result ----------------------- Assert.AreEqual(2, menuItem.MenuItems.Count); Assert.AreEqual(2, menuItemAsControl.Controls.Count); IControlHabanero contentControl = menuItemAsControl.ContentControl; Assert.AreEqual(2, contentControl.Controls.Count); //Peter - 04/03/2010 - removed the assert below - the line that sets the Top is not working in this test, but the menu works in practice. //IControlHabanero firstControl = contentControl.Controls[0]; //IControlHabanero secondControl = contentControl.Controls[1]; //Assert.GreaterOrEqual(secondControl.Top, firstControl.Top + firstControl.Height); }
public void TestClickSecondItemDocksNewControlInForm() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = CreateHabaneroMenuFullySetup(); HabaneroMenu submenu = habaneroMenu.AddSubMenu(TestUtil.GetRandomString()); HabaneroMenu.Item menuItem1 = submenu.AddMenuItem(TestUtil.GetRandomString()); IFormControl expectedFormControl1 = CreateFormControlStub(); menuItem1.FormControlCreator += (() => expectedFormControl1); HabaneroMenu.Item menuItem2 = submenu.AddMenuItem(TestUtil.GetRandomString()); IFormControl expectedFormControl2 = CreateFormControlStub(); menuItem2.FormControlCreator += (() => expectedFormControl2); IMenuBuilder menuBuilder = CreateMenuBuilder(); IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); menu.DockInForm(habaneroMenu.Form); IMenuItem formsMenuItem1 = menu.MenuItems[0].MenuItems[0]; IMenuItem formsMenuItem2 = menu.MenuItems[0].MenuItems[1]; formsMenuItem1.PerformClick(); //-------------Assert Preconditions ------------- AssertControlDockedInForm((IControlHabanero)expectedFormControl1, (IFormHabanero)habaneroMenu.Form); //---------------Execute Test ---------------------- formsMenuItem2.PerformClick(); //---------------Test Result ----------------------- AssertControlDockedInForm((IControlHabanero)expectedFormControl2, (IFormHabanero)habaneroMenu.Form); }
public void Test_CreateLeafMenuItems_ShouldCreatePanelWithLeafMenu() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = new HabaneroMenu("Main"); string subMenuName = TestUtil.GetRandomString(); HabaneroMenu submenu = habaneroMenu.AddSubMenu(subMenuName); string menuItemName1 = TestUtil.GetRandomString(); submenu.AddMenuItem(menuItemName1); submenu.AddMenuItem(TestUtil.GetRandomString()); CollapsibleMenuBuilderWin menuBuilder = (CollapsibleMenuBuilderWin)CreateMenuBuilder(); IMenuItem menuItem = new CollapsibleSubMenuItemWin(GetControlFactory(), "Some Sub Menu"); //---------------Assert Precondition---------------- Assert.AreEqual(0, menuItem.MenuItems.Count); ICollapsiblePanel menuItemAsControl = (ICollapsiblePanel)menuItem; Assert.AreEqual(1, menuItemAsControl.Controls.Count); Assert.AreEqual(2, submenu.MenuItems.Count); //---------------Execute Test ---------------------- menuBuilder.CreateLeafMenuItems(submenu, menuItem); //---------------Test Result ----------------------- Assert.AreEqual(2, menuItem.MenuItems.Count); Assert.AreEqual(2, menuItemAsControl.Controls.Count); IControlHabanero contentControl = menuItemAsControl.ContentControl; Assert.AreEqual(2, contentControl.Controls.Count); IControlHabanero firstControl = contentControl.Controls[0]; IControlHabanero secondControl = contentControl.Controls[1]; Assert.GreaterOrEqual(secondControl.Top, firstControl.Top + firstControl.Height); }
public void TestCloseFormAndClickCreatesNewForm() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = CreateHabaneroMenuFullySetup(); IFormHabanero frm = (IFormHabanero)habaneroMenu.Form; frm.Show(); HabaneroMenu submenu = habaneroMenu.AddSubMenu(TestUtil.GetRandomString()); HabaneroMenu.Item menuItem = submenu.AddMenuItem(TestUtil.GetRandomString()); menuItem.FormControlCreator += (() => new FormControlStubWin()); IMenuBuilder menuBuilder = CreateMenuBuilder(); IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); menu.DockInForm(habaneroMenu.Form); IMenuItem formsMenuItem = menu.MenuItems[0].MenuItems[0]; formsMenuItem.PerformClick(); System.Windows.Forms.Form winForm = (System.Windows.Forms.Form)frm; System.Windows.Forms.Form childForm = winForm.MdiChildren[0]; System.Windows.Forms.Control expectedFormControl = childForm.Controls[0]; //---------------Execute Test ---------------------- childForm.Close(); formsMenuItem.PerformClick(); //---------------Test Result ----------------------- Assert.AreEqual(1, winForm.MdiChildren.Length); childForm = winForm.MdiChildren[0]; Assert.AreEqual(1, childForm.Controls.Count); Assert.IsInstanceOf(typeof(FormControlStubWin), winForm.MdiChildren[0].Controls[0]); Assert.AreNotSame(expectedFormControl, winForm.MdiChildren[0].Controls[0]); }
public void TestCustomMenuHandlerTakesPrecedence() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = new HabaneroMenu("Main"); HabaneroMenu submenu = habaneroMenu.AddSubMenu(TestUtil.GetRandomString()); HabaneroMenu.Item menuItem = submenu.AddMenuItem(TestUtil.GetRandomString()); bool customHandlerCalled = false; EventHandler customerHandler = delegate { customHandlerCalled = true; }; bool formControlHandlerCalled = false; FormControlCreator formControlCreatorDelegate = delegate { formControlHandlerCalled = true; return(CreateFormControlStub()); }; menuItem.CustomHandler += customerHandler; menuItem.FormControlCreator += formControlCreatorDelegate; IMenuBuilder menuBuilder = CreateMenuBuilder(); //---------------Execute Test ---------------------- IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); IMenuItem formsMenuItem = menu.MenuItems[0].MenuItems[0]; formsMenuItem.PerformClick(); //---------------Test Result ----------------------- Assert.IsFalse(formControlHandlerCalled); Assert.IsTrue(customHandlerCalled); }
public void TestFormControlCreatorCalledOnClickIfSet() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = CreateHabaneroMenuFullySetup(); HabaneroMenu submenu = habaneroMenu.AddSubMenu(TestUtil.GetRandomString()); HabaneroMenu.Item menuItem = submenu.AddMenuItem(TestUtil.GetRandomString()); bool called = false; FormControlCreator formControlCreatorDelegate = delegate { called = true; return(CreateFormControlStub()); }; menuItem.FormControlCreator += formControlCreatorDelegate; IMenuBuilder menuBuilder = CreateMenuBuilder(); IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); menu.DockInForm(habaneroMenu.Form); IMenuItem formsMenuItem = menu.MenuItems[0].MenuItems[0]; //---------------Execute Test ---------------------- formsMenuItem.PerformClick(); //---------------Test Result ----------------------- Assert.IsTrue(called); }
public void Test_BuildMainMenu_TwoSubMenus_ShouldCreateSubMenusAndLeafMenuItems() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = new HabaneroMenu("Main"); string subMenuName = "sub_" + TestUtil.GetRandomString(); HabaneroMenu submenu = habaneroMenu.AddSubMenu(subMenuName); string menuItemName = "menu_" + TestUtil.GetRandomString(); submenu.AddMenuItem(menuItemName); HabaneroMenu submenu2 = habaneroMenu.AddSubMenu(TestUtil.GetRandomString()); submenu2.AddMenuItem("subsub_" + TestUtil.GetRandomString()); submenu2.AddMenuItem("subsub_" + TestUtil.GetRandomString()); IMenuBuilder menuBuilder = CreateMenuBuilder(); //---------------Assert Preconditions--------------- Assert.AreEqual(2, habaneroMenu.Submenus.Count); //---------------Execute Test ---------------------- IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); //---------------Test Result ----------------------- Assert.IsInstanceOf(typeof(ICollapsiblePanelGroupControl), menu); ICollapsiblePanelGroupControl menuAsCP = (ICollapsiblePanelGroupControl)menu; Assert.AreEqual(2, menuAsCP.PanelsList.Count); ICollapsiblePanel collapsiblePanel1 = menuAsCP.PanelsList[0]; Assert.AreEqual(subMenuName, collapsiblePanel1.CollapseButton.Text); Assert.IsNotNull(collapsiblePanel1); Assert.IsNotNull(collapsiblePanel1.ContentControl); Assert.AreEqual(1, collapsiblePanel1.ContentControl.Controls.Count); ICollapsiblePanel collapsiblePanel2 = menuAsCP.PanelsList[1]; Assert.AreEqual(submenu2.Name, collapsiblePanel2.Text); Assert.AreEqual(submenu2.Name, collapsiblePanel2.Name); Assert.AreEqual(submenu2.Name, collapsiblePanel2.CollapseButton.Text); Assert.IsNotNull(collapsiblePanel2); Assert.IsNotNull(collapsiblePanel2.ContentControl); Assert.AreEqual(2, collapsiblePanel2.ContentControl.Controls.Count); Assert.GreaterOrEqual(collapsiblePanel1.Top, collapsiblePanel2.Top + collapsiblePanel2.Height, "The collapsible panel are put in reverse order."); }
public virtual void Test_CreateSubMenuItems_ShouldCreatePanelWithLeafMenu() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = new HabaneroMenu("Main"); string subMenuName = TestUtil.GetRandomString(); habaneroMenu.AddSubMenu(subMenuName); habaneroMenu.AddSubMenu("SecondSubMenu"); CollapsibleMenuBuilderVWG menuBuilder = (CollapsibleMenuBuilderVWG)CreateMenuBuilder(); IMenuItem menuItem = new CollapsibleSubMenuItemVWG(GetControlFactory(), "Some Sub Menu"); //---------------Assert Precondition---------------- Assert.AreEqual(0, menuItem.MenuItems.Count); ICollapsiblePanel menuItemAsControl = (ICollapsiblePanel)menuItem; Assert.AreEqual(1, menuItemAsControl.Controls.Count); Assert.AreEqual(2, habaneroMenu.Submenus.Count); //---------------Execute Test ---------------------- menuBuilder.BuildSubMenu(habaneroMenu, menuItem.MenuItems); //---------------Test Result ----------------------- Assert.AreEqual(2, menuItem.MenuItems.Count); Assert.AreEqual(1, menuItemAsControl.Controls.Count); }
public void TestAddSubMenu() { //---------------Set up test pack------------------- HabaneroMenu menu = new HabaneroMenu("Main"); string menuName = TestUtil.GetRandomString(); //---------------Execute Test ---------------------- HabaneroMenu submenu = menu.AddSubMenu(menuName); //---------------Test Result ----------------------- Assert.AreEqual(1, menu.Submenus.Count); Assert.AreSame(submenu, menu.Submenus[0]); Assert.AreEqual(menuName, submenu.Name); //---------------Tear Down ------------------------- }
public void TestDockMenuInForm() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = CreateHabaneroMenuFullySetup(); HabaneroMenu submenu = habaneroMenu.AddSubMenu(TestUtil.GetRandomString()); submenu.AddMenuItem(TestUtil.GetRandomString()); IMenuBuilder menuBuilder = CreateMenuBuilder(); IFormHabanero form = (IFormHabanero)habaneroMenu.Form; IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); //-------------Assert Preconditions ------------- Assert.IsFalse(IsMenuDocked(menu, form)); //---------------Execute Test ---------------------- menu.DockInForm(form); //---------------Test Result ----------------------- Assert.IsTrue(IsMenuDocked(menu, form)); }
public void TestSimpleMenuStructure() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = new HabaneroMenu("Main"); string subMenuName = TestUtil.GetRandomString(); HabaneroMenu submenu = habaneroMenu.AddSubMenu(subMenuName); string menuItemName = TestUtil.GetRandomString(); submenu.AddMenuItem(menuItemName); IMenuBuilder menuBuilder = CreateMenuBuilder(); //---------------Execute Test ---------------------- IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); //---------------Test Result ----------------------- Assert.AreEqual(1, menu.MenuItems.Count); Assert.AreEqual(subMenuName, menu.MenuItems[0].Text); Assert.AreEqual(1, menu.MenuItems[0].MenuItems.Count); Assert.AreEqual(menuItemName, menu.MenuItems[0].MenuItems[0].Text); }
public void TestDockMenuInForm() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = CreateHabaneroMenuFullySetup(); HabaneroMenu submenu = habaneroMenu.AddSubMenu(TestUtil.GetRandomString()); submenu.AddMenuItem(TestUtil.GetRandomString()); IMenuBuilder menuBuilder = CreateMenuBuilder(); IControlHabanero form = habaneroMenu.Form; IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); //-------------Assert Preconditions ------------- Assert.IsFalse(IsMenuDocked(menu, form)); //---------------Execute Test ---------------------- menu.DockInForm(form); //---------------Test Result ----------------------- Assert.IsTrue(IsMenuDocked(menu, form)); IControlHabanero control = form.Controls[0]; Assert.IsInstanceOf(typeof(ISplitContainer), control); }
public virtual void Test_DockMenuInForm_ShouldSetUpSplitterPanels() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = CreateHabaneroMenuFullySetup(); HabaneroMenu submenu = habaneroMenu.AddSubMenu(TestUtil.GetRandomString()); submenu.AddMenuItem(TestUtil.GetRandomString()); IMenuBuilder menuBuilder = CreateMenuBuilder(); IControlHabanero form = habaneroMenu.Form; IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); form.Size = new Size(460, 900); //-------------Assert Preconditions ------------- Assert.IsFalse(IsMenuDocked(menu, form)); //---------------Execute Test ---------------------- menu.DockInForm(form); //---------------Test Result ----------------------- IControlHabanero control = form.Controls[0]; Assert.IsInstanceOf(typeof(ISplitContainer), control); Gizmox.WebGUI.Forms.SplitContainer splitContainerVWG = (Gizmox.WebGUI.Forms.SplitContainer)control; Gizmox.WebGUI.Forms.SplitterPanel panel1 = splitContainerVWG.Panel1; Assert.AreEqual(250, panel1.Width); Assert.AreEqual(1, panel1.Controls.Count); IControlHabanero menuControl = (IControlHabanero)panel1.Controls[0]; Assert.IsInstanceOf(typeof(ICollapsiblePanelGroupControl), menuControl); panel1.Size = new Size(121, 333); Assert.AreEqual(panel1.Width, menuControl.Width); Gizmox.WebGUI.Forms.SplitterPanel panel2 = splitContainerVWG.Panel2; Assert.AreEqual(1, panel2.Controls.Count); IControlHabanero editorControl = (IControlHabanero)panel2.Controls[0]; Assert.IsInstanceOf(typeof(MainEditorPanelVWG), editorControl); panel2.Size = new Size(321, 514); Assert.AreEqual(panel2.Width, editorControl.Width); Assert.AreEqual(panel2.Height, editorControl.Height); }
public void TestCustomMenuHandlerCalledIfSet() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = new HabaneroMenu("Main"); HabaneroMenu submenu = habaneroMenu.AddSubMenu(TestUtil.GetRandomString()); HabaneroMenu.Item menuItem = submenu.AddMenuItem(TestUtil.GetRandomString()); bool called = false; System.EventHandler customerHandler = delegate { called = true; }; menuItem.CustomHandler += customerHandler; IMenuBuilder menuBuilder = CreateMenuBuilder(); //---------------Execute Test ---------------------- IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); IMenuItem formsMenuItem = menu.MenuItems[0].MenuItems[0]; formsMenuItem.PerformClick(); //---------------Test Result ----------------------- Assert.IsTrue(called); //---------------Tear Down ------------------------- }
public void Test_DockMenuInForm_FormNull_ShouldRaiseError() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = CreateHabaneroMenuFullySetup(); HabaneroMenu submenu = habaneroMenu.AddSubMenu(TestUtil.GetRandomString()); submenu.AddMenuItem(TestUtil.GetRandomString()); IMenuBuilder menuBuilder = CreateMenuBuilder(); IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); //-------------Assert Preconditions ------------- //---------------Execute Test ---------------------- try { menu.DockInForm(null); Assert.Fail("expected ArgumentNullException"); } //---------------Test Result ----------------------- catch (ArgumentNullException ex) { StringAssert.Contains("Value cannot be null", ex.Message); StringAssert.Contains("form", ex.ParamName); } }
public override void Test_Click_WhenFormControlCreatorSet_ShouldCallSetFormOnFormControl() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = CreateHabaneroMenuFullySetup(); HabaneroMenu submenu = habaneroMenu.AddSubMenu(TestUtil.GetRandomString()); HabaneroMenu.Item menuItem = submenu.AddMenuItem(TestUtil.GetRandomString()); bool creatorCalled = false; IFormControlStub formControlStub = CreateFormControlStub(); FormControlCreator formControlCreatorDelegate = delegate { creatorCalled = true; return(formControlStub); }; menuItem.FormControlCreator += formControlCreatorDelegate; IMenuBuilder menuBuilder = CreateMenuBuilder(); IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu); menu.DockInForm(habaneroMenu.Form); IMenuItem formsMenuItem = menu.MenuItems[0].MenuItems[0]; //--------------- Test Preconditions ---------------- Assert.IsFalse(creatorCalled); Assert.IsFalse(formControlStub.SetFormCalled); Assert.IsNull(formControlStub.SetFormArgument); //---------------Execute Test ---------------------- formsMenuItem.PerformClick(); //---------------Test Result ----------------------- Assert.IsTrue(creatorCalled); Assert.IsTrue(formControlStub.SetFormCalled); //The MenuBuilderVWG sites the control on a UserControl instead of a form (VWG does not support MDI Children), so this next assert would fail. //Assert.IsNotNull(formControlStub.SetFormArgument); }