New test.
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / MenuTest.cs
1 //
2 // MenuTest.cs: Test cases for Menu, MainMenu
3 //
4 // Author:
5 //   Ritvik Mayank (mritvik@novell.com)
6 //
7 // (C) 2005 Novell, Inc. (http://www.novell.com)
8 //
9
10 using System;
11 using System.Windows.Forms;
12 using System.Drawing;
13 using System.Reflection;
14 using NUnit.Framework;
15
16 namespace MonoTests.System.Windows.Forms
17 {
18         [TestFixture]   
19         public class MenuTest
20         {
21                 [Test]
22                 public void MenuPropertyTest ()
23                 {
24                         Menu mymenu = new MainMenu ();
25                         Assert.AreEqual ("System.IntPtr", mymenu.Handle.GetType().FullName, "#1");
26                         Assert.AreEqual (false, mymenu.IsParent, "#2");
27                         // TODO: MDI is not completed  yet
28                         //Assert.AreEqual (null, mymenu.MdiListItem, "#3");
29                         Assert.AreEqual (0, mymenu.MenuItems.Count,"#4");
30                         mymenu.MenuItems.Add ("newmenu1");
31                         mymenu.MenuItems.Add ("newmenu2");
32                         Assert.AreEqual (2, mymenu.MenuItems.Count,"#5");
33                         MainMenu mymainmenu = new MainMenu ();
34                         Assert.AreEqual (RightToLeft.Inherit, mymainmenu.RightToLeft,"#6");
35                 }
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                 
47                 [Test]
48                 public void CloneMenuTest ()
49                 {
50                         MainMenu mymainmenu1 = new MainMenu ();
51                         MenuItem menuitem1 = new MenuItem ();
52                         MenuItem menuitem2 = new MenuItem ();
53                         menuitem1.Text = "item1";
54                         menuitem2.Text = "item2";
55                         mymainmenu1.MenuItems.Add (menuitem1);
56                         mymainmenu1.MenuItems.Add (menuitem2);
57                         MainMenu mymainmenu2 = mymainmenu1.CloneMenu ();
58                         Assert.AreEqual ("item1", mymainmenu2.MenuItems[0].Text, "#9");
59                 }
60
61                 [Test]
62                 public void CloneWindowMenuTest ()
63                 {
64                                 MenuItem menuitem1 = new MenuItem ();
65                                 menuitem1.MdiList = true;
66                                 MenuItem menuitem2 = menuitem1.CloneMenu ();
67                                 Assert.IsTrue (menuitem2.MdiList, "#1");
68                 }
69
70                 [Test]
71                 public void GetFormTest ()
72                 {
73                         Form myform = new Form ();
74                         myform.ShowInTaskbar = false;
75                         myform.Name = "New Form";
76                         MainMenu mymainmenu1 = new MainMenu ();
77                         MenuItem menuitem1 = new MenuItem ();
78                         menuitem1.Text = "item1";
79                         mymainmenu1.MenuItems.Add (menuitem1);
80                         myform.Menu = mymainmenu1;
81                         Assert.AreEqual ("New Form", mymainmenu1.GetForm().Name, "#10");
82                         myform.Dispose ();
83                 }
84                 
85                 [Test]
86                 public void GetContextMenuTest ()
87                 {
88                         Form myform = new Form ();
89                         myform.ShowInTaskbar = false;
90                         ContextMenu mycontextmenu = new ContextMenu ();
91                         myform.ContextMenu= mycontextmenu;
92                         MenuItem menuItem1 = new MenuItem ();
93                         menuItem1.Text = "1";
94                         mycontextmenu.MenuItems.Add (menuItem1);
95                         Assert.AreEqual (mycontextmenu, menuItem1.GetContextMenu (),"#11");
96                         myform.Dispose ();
97                 }
98         }
99 }