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 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 virtual void Test_Click_WhenFormControlCreatorSet_ShouldCallSetFormOnFormControl() { //---------------Set up test pack------------------- HabaneroMenu habaneroMenu = CreateHabaneroMenuFullySetup(); var menuItem = habaneroMenu.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]; //--------------- 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); }