Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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]);
        }
Ejemplo n.º 3
0
        public void Test_PerformClick_NoCreatorsCalledWhenMenuFormNotSet()
        {
            //---------------Set up test pack-------------------
            HabaneroMenu habaneroMenu = new HabaneroMenu("Main");
            string       menuItemName = TestUtil.GetRandomString();
            var          menuItem     = habaneroMenu.AddMenuItem(menuItemName);
            //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.IsNull(menuItem.Form);
            //---------------Execute Test ----------------------
            IMenuItem formsMenuItem = menu.MenuItems[0];

            formsMenuItem.PerformClick();

            //---------------Test Result -----------------------
            Assert.IsFalse(called);
        }
Ejemplo n.º 4
0
        public void Test_AddMultipleMenuItems_Should_ReturnMultipleMenuItemAfterBuildMainMenu()
        {
            //---------------Set up test pack-------------------
            HabaneroMenu habaneroMenu = new HabaneroMenu("Main");
            string       menuItemName = TestUtil.GetRandomString();

            habaneroMenu.AddMenuItem(menuItemName);
            string menuItemName2 = TestUtil.GetRandomString();

            habaneroMenu.AddMenuItem(menuItemName2);
            string menuItemName3 = TestUtil.GetRandomString();

            habaneroMenu.AddMenuItem(menuItemName3);


            IMenuBuilder menuBuilder = CreateMenuBuilder();

            //---------------Assert Preconditions---------------
            Assert.AreEqual(3, habaneroMenu.MenuItems.Count);
            //---------------Execute Test ----------------------
            IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu);

            //---------------Test Result -----------------------
            Assert.AreEqual(3, menu.MenuItems.Count);
            Assert.AreEqual(menuItemName, menu.MenuItems[0].Text);
            Assert.AreEqual(menuItemName2, menu.MenuItems[1].Text);
            Assert.AreEqual(menuItemName3, menu.MenuItems[2].Text);
        }
Ejemplo n.º 5
0
        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);
        }
        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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
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);
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
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);
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
        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);
        }
Ejemplo n.º 15
0
        public void Test_BuildMainMenu()
        {
            //---------------Set up test pack-------------------
            HabaneroMenu habaneroMenu = new HabaneroMenu("Main");
            IMenuBuilder menuBuilder  = CreateMenuBuilder();
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            IMainMenuHabanero menu = menuBuilder.BuildMainMenu(habaneroMenu);

            //---------------Test Result -----------------------
            Assert.IsNotNull(menu);
            Assert.AreEqual(habaneroMenu.Name, menu.Name);
        }
        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.");
        }
Ejemplo n.º 17
0
        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));
        }
Ejemplo n.º 18
0
        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);
        }
Ejemplo n.º 19
0
        public void TestCustomMenuHandlerCalledIfSet()
        {
            //---------------Set up test pack-------------------
            HabaneroMenu habaneroMenu = new HabaneroMenu("Main");
            var          menuItem     = habaneroMenu.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];

            formsMenuItem.PerformClick();

            //---------------Test Result -----------------------
            Assert.IsTrue(called);
            //---------------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();
            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 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);
            }
        }