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 Test_AddLeafMenuItem_ShouldIncreaseMinSizeOfCollapsiblePanel() { //---------------Set up test pack------------------- string name = TestUtil.GetRandomString(); HabaneroMenu.Item ownerItem = new HabaneroMenu.Item(null, name); CollapsibleSubMenuItemWin subMenuItem = new CollapsibleSubMenuItemWin(GetControlFactory(), ownerItem); CollapsibleMenuItemCollectionWin collapsibleMenuItemCollection = new CollapsibleMenuItemCollectionWin (subMenuItem); HabaneroMenu.Item item = new HabaneroMenu.Item(null, name); CollapsibleMenuItemWin menuLeafItem = new CollapsibleMenuItemWin(GetControlFactory(), item); //---------------Assert Precondition---------------- Assert.AreSame(subMenuItem, collapsibleMenuItemCollection.OwnerMenuItem); Assert.IsInstanceOf(typeof(CollapsibleMenuItemWin), menuLeafItem); Assert.AreEqual(subMenuItem.CollapseButton.Height, subMenuItem.MinimumSize.Height); //---------------Execute Test ---------------------- collapsibleMenuItemCollection.Add(menuLeafItem); //---------------Test Result ----------------------- int expectedHeight = subMenuItem.CollapseButton.Height + menuLeafItem.Height; Assert.AreEqual(expectedHeight, subMenuItem.Height); Assert.AreEqual (expectedHeight, subMenuItem.ExpandedHeight, "this will be zero untill the first time this is collapsed"); }
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 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_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 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 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 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 Test_AddLeafMenuItem_ShouldAddButtonToCollapsiblePanel() { //---------------Set up test pack------------------- string name = TestUtil.GetRandomString(); HabaneroMenu.Item ownerItem = new HabaneroMenu.Item(null, name); CollapsibleSubMenuItemWin subMenuItem = new CollapsibleSubMenuItemWin(GetControlFactory(), ownerItem); CollapsibleMenuItemCollectionWin collapsibleMenuItemCollection = new CollapsibleMenuItemCollectionWin (subMenuItem); HabaneroMenu.Item item = new HabaneroMenu.Item(null, name); CollapsibleMenuItemWin menuLeafItem = new CollapsibleMenuItemWin(GetControlFactory(), item); //---------------Assert Precondition---------------- Assert.AreSame(subMenuItem, collapsibleMenuItemCollection.OwnerMenuItem); Assert.IsInstanceOf(typeof(CollapsibleMenuItemWin), menuLeafItem); Assert.AreEqual(1, subMenuItem.Controls.Count, "CollapsiblePanel always has header button"); Assert.AreEqual(0, collapsibleMenuItemCollection.Count); //---------------Execute Test ---------------------- collapsibleMenuItemCollection.Add(menuLeafItem); //---------------Test Result ----------------------- Assert.AreEqual(1, collapsibleMenuItemCollection.Count); Assert.AreEqual(2, subMenuItem.Controls.Count, "Should have additional button control"); IControlHabanero contentControl = subMenuItem.ContentControl; Assert.IsInstanceOf(typeof(IPanel), contentControl); Assert.AreEqual(1, contentControl.Controls.Count); Assert.IsInstanceOf(typeof(IButton), contentControl.Controls[0]); }
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 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); }
/// <summary> /// Creates a <see cref="CollapsibleSubMenuItemWin"/> /// </summary> public CollapsibleSubMenuItemWin(IControlFactory controlFactory, HabaneroMenu.Item habaneroMenuItem) : base(controlFactory) { string text = ""; if (habaneroMenuItem != null) { text = habaneroMenuItem.Name; } InitialiseSubMenuItem(text); }
public void Test_ConstructMenuItem_WithHabaneroMenuItemNull_ShouldNotSetName() { //---------------Set up test pack------------------- const HabaneroMenu.Item item = null; //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- IMenuItem collapsibleMenuItem = CreateControl(item); //---------------Test Result ----------------------- TestUtil.AssertStringEmpty(collapsibleMenuItem.Text, "collapsibleMenuItem.Text"); Assert.IsNotNull(collapsibleMenuItem.MenuItems); }
public void Test_ConstructMenuItem_WithHabaneroMenuItem_ShouldSetName() { //---------------Set up test pack------------------- string name = TestUtil.GetRandomString(); HabaneroMenu.Item item = new HabaneroMenu.Item(null, name); IMenuItem menuItem = CreateMenuItem(item); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- IMenuItemCollection collapsibleMenuItemCollection = CreateControl(menuItem); //---------------Test Result ----------------------- Assert.AreSame(menuItem, collapsibleMenuItemCollection.OwnerMenuItem); }
public void TestSetManagedControl_WithNull_ShouldClearControlManagerCreator() { //---------------Set up test pack------------------- HabaneroMenu.Item menuItem = new HabaneroMenu.Item(null, TestUtil.GetRandomString()); ControlHabaneroFake control = new ControlHabaneroFake(); menuItem.ManagedControl = control; //---------------Assert PreConditions--------------- Assert.IsNotNull(menuItem.ControlManagerCreator); //---------------Execute Test ---------------------- menuItem.ManagedControl = null; //---------------Test Result ----------------------- Assert.IsNull(menuItem.ControlManagerCreator); }
public void TestSetControlManagerCreator() { //---------------Set up test pack------------------- HabaneroMenu.Item menuItem = new HabaneroMenu.Item(null, TestUtil.GetRandomString()); //---------------Assert PreConditions--------------- Assert.IsNull(menuItem.ControlManagerCreator); //---------------Execute Test ---------------------- menuItem.ControlManagerCreator += delegate { return(new ControlManagerStub()); }; IControlManager controlManager = menuItem.ControlManagerCreator(null); //---------------Test Result ----------------------- Assert.IsNotNull(menuItem.ControlManagerCreator); Assert.IsNotNull(controlManager); Assert.IsInstanceOf(typeof(ControlManagerStub), controlManager); }
public void TestAddMenuItem() { //---------------Set up test pack------------------- HabaneroMenu submenu = new HabaneroMenu("Main").AddSubMenu("Submenu"); string menuItemName = TestUtil.GetRandomString(); //---------------Assert PreConditions--------------- //---------------Execute Test ---------------------- HabaneroMenu.Item menuItem = submenu.AddMenuItem(menuItemName); //---------------Test Result ----------------------- Assert.AreEqual(1, submenu.MenuItems.Count); Assert.AreSame(menuItem, submenu.MenuItems[0]); Assert.AreEqual(menuItemName, menuItem.Name); //---------------Tear Down ------------------------- }
public void Test_ConstructMenuItem_WithHabaneroMenuItem_ShouldSetName() { //---------------Set up test pack------------------- string name = TestUtil.GetRandomString(); HabaneroMenu.Item item = new HabaneroMenu.Item(null, name); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- IMenuItem collapsibleMenuItem = CreateControl(item); //---------------Test Result ----------------------- Assert.AreEqual(name, collapsibleMenuItem.Text); Assert.AreEqual(item.Name, collapsibleMenuItem.Text); Assert.IsNotNull(collapsibleMenuItem.MenuItems); }
public void TestSetManagedControl_ShouldSetADefaultControlManagerCreator() { //---------------Set up test pack------------------- HabaneroMenu.Item menuItem = new HabaneroMenu.Item(null, TestUtil.GetRandomString()); var control = new ControlHabaneroFake(); //---------------Assert PreConditions--------------- Assert.IsNull(menuItem.ControlManagerCreator); //---------------Execute Test ---------------------- menuItem.ManagedControl = control; Assert.IsNotNull(menuItem.ControlManagerCreator); var controlManager = menuItem.ControlManagerCreator(null); //---------------Test Result ----------------------- Assert.AreSame(control, controlManager.Control); }
public void Test_DoClick_ShouldExpandTheCollapsiblePanel() { //---------------Set up test pack------------------- string name = TestUtil.GetRandomString(); HabaneroMenu.Item item = new HabaneroMenu.Item(null, name); IMenuItem collapsibleMenuItem = CreateControl(item); ICollapsiblePanel subMenuAsCollapsiblePanel = (ICollapsiblePanel)collapsibleMenuItem; //---------------Assert Precondition---------------- Assert.IsTrue(subMenuAsCollapsiblePanel.Collapsed); //---------------Execute Test ---------------------- collapsibleMenuItem.DoClick(); //---------------Test Result ----------------------- Assert.IsFalse(subMenuAsCollapsiblePanel.Collapsed); }
public void Test_ConstructSubMenu_ShouldBeCollapsed() { //---------------Set up test pack------------------- string name = TestUtil.GetRandomString(); HabaneroMenu.Item item = new HabaneroMenu.Item(null, name); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- IMenuItem collapsibleMenuItem = CreateControl(item); ICollapsiblePanel subMenuAsCollapsiblePanel = (ICollapsiblePanel)collapsibleMenuItem; //---------------Test Result ----------------------- Assert.IsTrue(subMenuAsCollapsiblePanel.Collapsed); Assert.AreEqual (subMenuAsCollapsiblePanel.CollapseButton.Height, subMenuAsCollapsiblePanel.MinimumSize.Height); }
public void Test_MenuItems_ShouldAlwaysReturnTheSameInstance() { //---------------Set up test pack------------------- string name = TestUtil.GetRandomString(); HabaneroMenu.Item item = new HabaneroMenu.Item(null, name); IMenuItem collapsibleMenuItem = CreateControl(item); IMenuItemCollection expectedMenuItems = collapsibleMenuItem.MenuItems; //---------------Assert Precondition---------------- Assert.IsNotNull(collapsibleMenuItem); Assert.IsNotNull(expectedMenuItems); //---------------Execute Test ---------------------- IMenuItemCollection secondCallToMenuItems = collapsibleMenuItem.MenuItems; //---------------Test Result ----------------------- Assert.AreSame(expectedMenuItems, secondCallToMenuItems); }
public void TestSetFormControlCreator() { //---------------Set up test pack------------------- FormControlStub formControlStub = new FormControlStub(); HabaneroMenu.Item menuItem = new HabaneroMenu.Item(null, TestUtil.GetRandomString()); //---------------Assert PreConditions--------------- Assert.IsNull(menuItem.FormControlCreator); //---------------Execute Test ---------------------- menuItem.FormControlCreator += (() => formControlStub); IFormControl formControl = menuItem.FormControlCreator(); //---------------Test Result ----------------------- Assert.IsNotNull(menuItem.FormControlCreator); Assert.IsNotNull(formControl); Assert.IsInstanceOf(typeof(FormControlStub), formControl); Assert.AreSame(formControlStub, formControl); //---------------Tear Down ------------------------- }
public void Test_ConstructMenuItem_ControlFactoryNull_ShouldRaiseError() { //---------------Set up test pack------------------- string name = TestUtil.GetRandomString(); HabaneroMenu.Item item = new HabaneroMenu.Item(null, name); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- try { CreateControl(null, item); Assert.Fail("expected ArgumentNullException"); } //---------------Test Result ----------------------- catch (ArgumentNullException ex) { StringAssert.Contains("Value cannot be null", ex.Message); StringAssert.Contains("controlFactory", ex.ParamName); } }
/// <summary> /// Creates a <see cref="CollapsibleMenuItemCollectionWin"/> for a habaneroMenuItem. /// </summary> /// <param name="controlFactory"></param> /// <param name="habaneroMenuItem"></param> public CollapsibleMenuItemWin(IControlFactory controlFactory, HabaneroMenu.Item habaneroMenuItem) { if (controlFactory == null) { throw new ArgumentNullException("controlFactory"); } _habaneroMenuItem = habaneroMenuItem; if (habaneroMenuItem != null) { this.Text = _habaneroMenuItem.Name; this.FlatStyle = FlatStyle.Flat; this.BackgroundImage = CollapsiblePanelResource.smBack; this.Image = CollapsiblePanelResource.nbItemBullet; this.TextImageRelation = TextImageRelation.ImageBeforeText; this.TextAlign = ContentAlignment.MiddleLeft; this.Click += ChangeButtonIcon; } MenuItems = new CollapsibleMenuItemCollectionWin(this); }
/// <summary> /// Creates a <see cref="CollapsibleMenuItemCollectionVWG"/> for a habaneroMenuItem. /// </summary> /// <param name="controlFactory"></param> /// <param name="habaneroMenuItem"></param> public CollapsibleMenuItemVWG(IControlFactory controlFactory, HabaneroMenu.Item habaneroMenuItem) { if (controlFactory == null) { throw new ArgumentNullException("controlFactory"); } _habaneroMenuItem = habaneroMenuItem; if (habaneroMenuItem != null) { this.Text = _habaneroMenuItem.Name; this.FlatStyle = FlatStyle.Flat; this.BackgroundImage = "Images.smBack-white.gif"; this.Image = "Images.nbItemBullet.gif"; this.TextImageRelation = TextImageRelation.ImageBeforeText; this.TextAlign = ContentAlignment.MiddleLeft; this.Font = new Font("Verdana", 9); this.Dock = DockStyleVWG.GetDockStyle(DockStyle.Top); this.Click += ChangeButtonIcon; } MenuItems = new CollapsibleMenuItemCollectionVWG(this); }
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_AddSubMenuItem_ShouldAddCollapsiblePanel() { //---------------Set up test pack------------------- string name = TestUtil.GetRandomString(); CollapsibleMenuWin menu = new CollapsibleMenuWin(); CollapsibleMenuItemCollectionWin collapsibleMenuItemCollection = new CollapsibleMenuItemCollectionWin(menu); HabaneroMenu.Item item = new HabaneroMenu.Item(null, name); IMenuItem menuLeafItem = new CollapsibleSubMenuItemWin(GetControlFactory(), item); //---------------Assert Precondition---------------- Assert.AreSame(menu, collapsibleMenuItemCollection.OwnerMenuItem); Assert.IsInstanceOf(typeof(CollapsibleSubMenuItemWin), menuLeafItem); Assert.AreEqual(0, collapsibleMenuItemCollection.Count); //---------------Execute Test ---------------------- collapsibleMenuItemCollection.Add(menuLeafItem); //---------------Test Result ----------------------- Assert.AreEqual(1, collapsibleMenuItemCollection.Count); Assert.AreEqual(1, menu.PanelsList.Count); ICollapsiblePanel collapsiblePanel = menu.PanelsList[0]; Assert.AreEqual(name, collapsiblePanel.Text); }
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); }
protected override IMenuItem CreateMenuItem(HabaneroMenu.Item habaneroMenuItem) { return(new CollapsibleMenuItemWin(habaneroMenuItem)); }