2006-12-19 Daniel Nauck <dna@mono-project.de>
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / ToolBarTest.cs
1 //
2 // ToolBarTest.cs: Test cases for ToolBar.
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.Drawing;
12 using System.Globalization;
13 using System.Windows.Forms;
14
15 using NUnit.Framework;
16
17 namespace MonoTests.System.Windows.Forms
18 {
19         [TestFixture]
20         public class ToolBarTest 
21         {
22                 [Test] // bug #79863
23                 public void TabStop ()
24                 {
25                         ToolBar tb = new ToolBar ();
26                         Assert.IsFalse (tb.TabStop);
27                 }
28
29                 [Test]
30                 public void ToolBarPropertyTest ()
31                 {       
32                         Form myform = new Form ();
33                         myform.ShowInTaskbar = false;
34                         ToolBar myToolBar = new ToolBar ();
35                         ToolBarButton myToolBarButton1 = new ToolBarButton ();
36                         ToolBarButton myToolBarButton2 = new ToolBarButton ();
37                         myToolBarButton1.Text = "A";
38                         myToolBarButton2.Text = "B";
39                         myToolBar.Buttons.Add (myToolBarButton1);
40                         myToolBar.Buttons.Add (myToolBarButton2);
41                         myform.Controls.Add (myToolBar);
42                         
43                         // A
44                         Assert.AreEqual (ToolBarAppearance.Normal, myToolBar.Appearance, "#A1");
45                         Assert.AreEqual (true, myToolBar.AutoSize, "#A2");
46                         
47                         // B
48                         Assert.AreEqual ("Control", myToolBar.BackColor.Name, "#B1");
49                         myToolBar.BackgroundImage = Image.FromFile ("M.gif");
50                         Assert.AreEqual (60, myToolBar.BackgroundImage.Height, "#B3");
51                         Assert.AreEqual (BorderStyle.None, myToolBar.BorderStyle, "#B4");
52                         myToolBar.BorderStyle = BorderStyle.Fixed3D;
53                         Assert.AreEqual (BorderStyle.Fixed3D, myToolBar.BorderStyle, "#B5"); 
54                         Assert.AreEqual (2, myToolBar.Buttons.Count, "#B6");
55                         Assert.AreEqual ("B", myToolBar.Buttons [1].Text, "#B7");
56                         
57                         // D
58                         Assert.AreEqual (DockStyle.Top, myToolBar.Dock, "#D1");
59                         Assert.AreEqual (true, myToolBar.Divider, "#D2");       
60                         Assert.AreEqual (true, myToolBar.DropDownArrows, "#D3");        
61
62                         // F
63                         Assert.AreEqual ("ControlText", myToolBar.ForeColor.Name, "#F2");
64         
65                         // I
66                         ImageList myImageList = new ImageList ();
67                         myImageList.Images.Add (Image.FromFile ("M.gif"));
68                         myToolBar.ImageList = myImageList;
69                         Assert.AreEqual (1, myToolBar.ImageList.Images.Count, "#I1");
70                         Assert.AreEqual (16, myToolBar.ImageSize.Height, "#I2");
71                         Assert.AreEqual (16, myToolBar.ImageSize.Width, "#I3");
72                         Assert.AreEqual (ImeMode.Disable, myToolBar.ImeMode, "#I4");
73                         
74                         // R
75                         Assert.AreEqual (RightToLeft.No, myToolBar.RightToLeft, "#R1");
76
77                         // S
78                         Assert.AreEqual (true, myToolBar.ShowToolTips, "#S1");
79                         
80                         // T
81                         Assert.AreEqual ("", myToolBar.Text, "#T1");
82                         myToolBar.Text = "MONO TOOLBAR";
83                         Assert.AreEqual ("MONO TOOLBAR", myToolBar.Text, "#T2");
84                         Assert.AreEqual (ToolBarTextAlign.Underneath, myToolBar.TextAlign, "#T3");
85
86                         // WXYZ
87                         Assert.AreEqual (true, myToolBar.Wrappable, "#W1");
88
89                         myform.Dispose ();
90                 }
91                 
92                 [Test]
93                 public void ToStringMethodTest () 
94                 {
95                         ToolBar tb = new ToolBar ();
96                         tb.Text = "New ToolBar";
97                         Assert.AreEqual ("System.Windows.Forms.ToolBar, Buttons.Count: 0",
98                                 tb.ToString (), "#1");
99
100                         ToolBarButton buttonA = new ToolBarButton ("A");
101                         ToolBarButton buttonB = new ToolBarButton ("B");
102                         tb.Buttons.Add (buttonA);
103                         tb.Buttons.Add (buttonB);
104                         Assert.AreEqual ("System.Windows.Forms.ToolBar, Buttons.Count: 2, " +
105                                 "Buttons[0]: ToolBarButton: A, Style: PushButton", 
106                                 tb.ToString (), "#2");
107                 }
108
109                 [Test]
110                 public void ToolbarButtonRectangleTest ()
111                 {
112                         ToolBar myToolBar = new ToolBar ();
113                         ToolBarButton tbb = new ToolBarButton ("hi");
114
115                         Assert.IsTrue (tbb.Rectangle.IsEmpty, "#T0");
116
117                         myToolBar.Visible = false;
118                         myToolBar.Buttons.Add (tbb);
119
120                         Assert.IsFalse (tbb.Rectangle.IsEmpty, "#T1");
121
122                         myToolBar.Visible = true;
123
124                         Assert.IsFalse (tbb.Rectangle.IsEmpty, "#T2");
125
126                         tbb.Visible = false;
127
128                         Assert.IsTrue (tbb.Rectangle.IsEmpty, "#T3");
129                 }
130
131         }
132         // [MonoTODO ("Add test for ButtonClickEvent (Visual Test)"]
133         // [MonoTODO ("Add test for ButtonDropDownEvent (Visual Test)"]
134 }