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 GetFormTest ()
63                 {
64                         Form myform = new Form ();
65                         myform.Name = "New Form";
66                         MainMenu mymainmenu1 = new MainMenu ();
67                         MenuItem menuitem1 = new MenuItem ();
68                         menuitem1.Text = "item1";
69                         mymainmenu1.MenuItems.Add (menuitem1);
70                         myform.Menu = mymainmenu1;
71                         Assert.AreEqual ("New Form", mymainmenu1.GetForm().Name, "#10");
72                 }
73                 
74                 [Test]
75                 public void GetContextMenuTest ()
76                 {
77                         Form myform = new Form ();
78                         ContextMenu mycontextmenu = new ContextMenu ();
79                         myform.ContextMenu= mycontextmenu;
80                         MenuItem menuItem1 = new MenuItem ();
81                         menuItem1.Text = "1";
82                         mycontextmenu.MenuItems.Add (menuItem1);
83                         Assert.AreEqual (mycontextmenu, menuItem1.GetContextMenu (),"#11");
84                 }
85         }
86 }