public virtual void Test_AddLeafMenuItem_ShouldAddButtonToCollapsiblePanel() { //---------------Set up test pack------------------- string name = TestUtil.GetRandomString(); HabaneroMenu.Item ownerItem = new HabaneroMenu.Item(null, name); CollapsibleSubMenuItemVWG subMenuItem = new CollapsibleSubMenuItemVWG(GetControlFactory(), ownerItem); CollapsibleMenuItemCollectionVWG collapsibleMenuItemCollection = new CollapsibleMenuItemCollectionVWG (subMenuItem); HabaneroMenu.Item item = new HabaneroMenu.Item(null, name); CollapsibleMenuItemVWG menuLeafItem = new CollapsibleMenuItemVWG(GetControlFactory(), item); //---------------Assert Precondition---------------- Assert.AreSame(subMenuItem, collapsibleMenuItemCollection.OwnerMenuItem); Assert.IsInstanceOf(typeof(CollapsibleMenuItemVWG), 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]); Assert.AreEqual(menuLeafItem.Dock, DockStyleVWG.GetDockStyle(DockStyle.Top)); }
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 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 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); } }
public virtual void Test_AddSubMenuItem_ShouldAddCollapsiblePanel() { //---------------Set up test pack------------------- string name = TestUtil.GetRandomString(); CollapsibleMenuVWG menu = new CollapsibleMenuVWG(); CollapsibleMenuItemCollectionVWG collapsibleMenuItemCollection = new CollapsibleMenuItemCollectionVWG(menu); HabaneroMenu.Item item = new HabaneroMenu.Item(null, name); IMenuItem menuLeafItem = new CollapsibleSubMenuItemVWG(GetControlFactory(), item); //---------------Assert Precondition---------------- Assert.AreSame(menu, collapsibleMenuItemCollection.OwnerMenuItem); Assert.IsInstanceOf(typeof(CollapsibleSubMenuItemVWG), 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); }
///<summary> /// Adds a MenuItem. Creates a Menu <see cref="Item"/> with the name <paramref name="menuItemName"/> ///</summary> ///<param name="menuItemName"></param> ///<returns></returns> public Item AddMenuItem(string menuItemName) { HabaneroMenu.Item menuItem = new HabaneroMenu.Item(this, menuItemName, _form, _controlFactory); _menuItems.Add(menuItem); return menuItem; }
public void Test_CreateMenuItem_FromHabaneroMenuItem() { //---------------Set up test pack------------------- HabaneroMenu.Item item = new HabaneroMenu.Item(null, TestUtil.GetRandomString()); DisposeOnTearDown(item); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- IMenuItem mmenu = _factory.CreateMenuItem(item); DisposeOnTearDown(mmenu); //---------------Test Result ----------------------- Assert.IsNotNull(mmenu); Assert.AreEqual(item.Name, mmenu.Text); }
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_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 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 virtual void Test_AddLeafMenuItem_ShouldIncreaseMinSizeOfCollapsiblePanel() { //---------------Set up test pack------------------- string name = TestUtil.GetRandomString(); HabaneroMenu.Item ownerItem = new HabaneroMenu.Item(null, name); CollapsibleSubMenuItemVWG subMenuItem = new CollapsibleSubMenuItemVWG(GetControlFactory(), ownerItem); CollapsibleMenuItemCollectionVWG collapsibleMenuItemCollection = new CollapsibleMenuItemCollectionVWG (subMenuItem); HabaneroMenu.Item item = new HabaneroMenu.Item(null, name); CollapsibleMenuItemVWG menuLeafItem = new CollapsibleMenuItemVWG(GetControlFactory(), item); //---------------Assert Precondition---------------- Assert.AreSame(subMenuItem, collapsibleMenuItemCollection.OwnerMenuItem); Assert.IsInstanceOf(typeof(CollapsibleMenuItemVWG), 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 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 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 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); }
///<summary> /// Adds a MenuItem. Creates a Menu <see cref="Item"/> with the name <paramref name="menuItemName"/> ///</summary> ///<param name="menuItemName"></param> ///<returns></returns> public Item AddMenuItem(string menuItemName) { HabaneroMenu.Item menuItem = new HabaneroMenu.Item(this, menuItemName, _form, _controlFactory); _menuItems.Add(menuItem); return(menuItem); }