MenuTest.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. //
  2. // MenuTest.cs: Test cases for Menu, MainMenu
  3. //
  4. // Author:
  5. // Ritvik Mayank ([email protected])
  6. //
  7. // (C) 2005 Novell, Inc. (http://www.novell.com)
  8. //
  9. using System;
  10. using System.Windows.Forms;
  11. using System.Drawing;
  12. using System.Reflection;
  13. using NUnit.Framework;
  14. namespace MonoTests.System.Windows.Forms
  15. {
  16. [TestFixture]
  17. public class MenuTest
  18. {
  19. [Test]
  20. public void MenuPropertyTest ()
  21. {
  22. Menu mymenu = new MainMenu ();
  23. Assert.AreEqual ("System.IntPtr", mymenu.Handle.GetType().FullName, "#1");
  24. Assert.AreEqual (false, mymenu.IsParent, "#2");
  25. // TODO: MDI is not completed yet
  26. //Assert.AreEqual (null, mymenu.MdiListItem, "#3");
  27. Assert.AreEqual (0, mymenu.MenuItems.Count,"#4");
  28. mymenu.MenuItems.Add ("newmenu1");
  29. mymenu.MenuItems.Add ("newmenu2");
  30. Assert.AreEqual (2, mymenu.MenuItems.Count,"#5");
  31. MainMenu mymainmenu = new MainMenu ();
  32. Assert.AreEqual (RightToLeft.Inherit, mymainmenu.RightToLeft,"#6");
  33. #if NET_2_0
  34. Assert.IsNull (mymenu.Tag);
  35. #endif
  36. }
  37. [Test]
  38. public void GetMainMenuTest ()
  39. {
  40. MainMenu mymainmenu = new MainMenu ();
  41. MenuItem mymenuitem = new MenuItem ();
  42. mymenuitem.Text = "menu 1";
  43. mymainmenu.MenuItems.Add (mymenuitem);
  44. Assert.AreEqual (mymainmenu, mymenuitem.GetMainMenu (), "#7");
  45. }
  46. [Test]
  47. public void CloneMenuTest ()
  48. {
  49. MainMenu mymainmenu1 = new MainMenu ();
  50. MenuItem menuitem1 = new MenuItem ();
  51. MenuItem menuitem2 = new MenuItem ();
  52. menuitem1.Text = "item1";
  53. menuitem2.Text = "item2";
  54. mymainmenu1.MenuItems.Add (menuitem1);
  55. mymainmenu1.MenuItems.Add (menuitem2);
  56. MainMenu mymainmenu2 = mymainmenu1.CloneMenu ();
  57. Assert.AreEqual ("item1", mymainmenu2.MenuItems[0].Text, "#9");
  58. }
  59. [Test]
  60. public void CloneWindowMenuTest ()
  61. {
  62. MenuItem menuitem1 = new MenuItem ();
  63. menuitem1.MdiList = true;
  64. MenuItem menuitem2 = menuitem1.CloneMenu ();
  65. Assert.IsTrue (menuitem2.MdiList, "#1");
  66. }
  67. [Test]
  68. public void GetFormTest ()
  69. {
  70. Form myform = new Form ();
  71. myform.ShowInTaskbar = false;
  72. myform.Name = "New Form";
  73. MainMenu mymainmenu1 = new MainMenu ();
  74. MenuItem menuitem1 = new MenuItem ();
  75. menuitem1.Text = "item1";
  76. mymainmenu1.MenuItems.Add (menuitem1);
  77. myform.Menu = mymainmenu1;
  78. Assert.AreEqual ("New Form", mymainmenu1.GetForm().Name, "#10");
  79. myform.Dispose ();
  80. }
  81. [Test]
  82. public void GetContextMenuTest ()
  83. {
  84. Form myform = new Form ();
  85. myform.ShowInTaskbar = false;
  86. ContextMenu mycontextmenu = new ContextMenu ();
  87. myform.ContextMenu= mycontextmenu;
  88. MenuItem menuItem1 = new MenuItem ();
  89. menuItem1.Text = "1";
  90. mycontextmenu.MenuItems.Add (menuItem1);
  91. Assert.AreEqual (mycontextmenu, menuItem1.GetContextMenu (),"#11");
  92. myform.Dispose ();
  93. }
  94. [Test]
  95. public void MenuItemMerge ()
  96. {
  97. MenuItem itemA2 = new MenuItem ("Exit");
  98. itemA2.MergeType = MenuMerge.MergeItems;
  99. itemA2.MergeOrder = 3;
  100. MenuItem itemA1 = new MenuItem ("File");
  101. itemA1.MenuItems.Add (itemA2);
  102. itemA1.MergeType = MenuMerge.MergeItems;
  103. MenuItem itemB2 = new MenuItem ("Open");
  104. itemB2.MergeOrder = 1;
  105. itemB2.MergeType = MenuMerge.Add;
  106. MenuItem itemB3 = new MenuItem ("Close");
  107. itemB3.MergeOrder = 2;
  108. itemB3.MergeType = MenuMerge.Add;
  109. MenuItem itemB1 = new MenuItem ("File");
  110. itemB1.MenuItems.Add (itemB2);
  111. itemB1.MenuItems.Add (itemB3);
  112. itemB1.MergeType = MenuMerge.MergeItems;
  113. MainMenu mainMenu1 = new MainMenu();
  114. mainMenu1.MenuItems.Add (itemA1);
  115. MainMenu mainMenu2 = new MainMenu();
  116. mainMenu2.MenuItems.Add (itemB1);
  117. mainMenu1.MergeMenu (mainMenu2);
  118. Assert.AreEqual ("File", mainMenu1.MenuItems[0].Text, "ItemMerge#1");
  119. Assert.AreEqual ("Open", mainMenu1.MenuItems[0].MenuItems[0].Text, "ItemMerge#2");
  120. Assert.AreEqual ("Close", mainMenu1.MenuItems[0].MenuItems[1].Text, "ItemMerge#3");
  121. Assert.AreEqual ("Exit", mainMenu1.MenuItems[0].MenuItems[2].Text, "ItemMerge#4");
  122. }
  123. }
  124. }