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);
}