2 // ErrorProviderTest.cs: Test cases for ErrorProvider.
5 // Ritvik Mayank (mritvik@novell.com)
7 // (C) 2005 Novell, Inc. (http://www.novell.com)
11 using NUnit.Framework;
12 using System.Windows.Forms;
15 using System.Runtime.Remoting;
17 namespace MonoTests.System.Windows.Forms
20 public class ErrorProviderTest : TestHelper
23 public void ErrorProviderPropertyTest ()
25 ErrorProvider myErrorProvider = new ErrorProvider ();
28 Assert.AreEqual (250, myErrorProvider.BlinkRate, "#B1");
29 Assert.AreEqual (ErrorBlinkStyle.BlinkIfDifferentError, myErrorProvider.BlinkStyle, "#B2");
32 Assert.AreEqual (null, myErrorProvider.ContainerControl, "#C1");
35 Assert.AreEqual (null, myErrorProvider.DataMember, "#D1");
36 Assert.AreEqual (null, myErrorProvider.DataSource, "#D2");
39 Assert.AreEqual (16, myErrorProvider.Icon.Height, "#I1");
40 Assert.AreEqual (16, myErrorProvider.Icon.Width, "#I2");
43 Assert.AreEqual (null, myErrorProvider.Site, "#S1");
47 public void BindToDateAndErrorsTest ()
49 ErrorProvider myErrorProvider = new ErrorProvider ();
50 DataSet myDataSet= new DataSet();
51 myErrorProvider.DataSource = myDataSet;
52 myErrorProvider.DataMember = "Customers";
53 Assert.AreEqual (myDataSet, myErrorProvider.DataSource, "#Bind1");
54 Assert.AreEqual ("Customers", myErrorProvider.DataMember, "#Bind2");
58 public void CanExtendTest ()
60 Control myControl = new Control ();
61 Form myForm = new Form ();
62 myForm.ShowInTaskbar = false;
63 ToolBar myToolBar = new ToolBar ();
64 ErrorProvider myErrorProvider = new ErrorProvider ();
65 Assert.AreEqual (myErrorProvider.CanExtend (myControl), true, "#ext1");
66 Assert.AreEqual (myErrorProvider.CanExtend (myToolBar), false, "#ext2");
67 Assert.AreEqual (myErrorProvider.CanExtend (myForm), false, "#ext3");
72 public void GetandSetErrorTest ()
74 Form myForm = new Form ();
75 myForm.ShowInTaskbar = false;
76 Label label1 = new Label ();
77 Label label2 = new Label ();
78 ErrorProvider myErrorProvider = new ErrorProvider ();
79 Assert.AreEqual (string.Empty, myErrorProvider.GetError (label1), "#1");
80 myErrorProvider.SetError (label1, "ErrorMsg1");
81 Assert.AreEqual ("ErrorMsg1", myErrorProvider.GetError (label1), "#2");
82 Assert.AreEqual (string.Empty, myErrorProvider.GetError (label2), "#3");
83 myErrorProvider.SetError (label2, "ErrorMsg2");
84 Assert.AreEqual ("ErrorMsg2", myErrorProvider.GetError (label2), "#4");
85 myErrorProvider.SetError (label2, null);
86 Assert.AreEqual ("ErrorMsg1", myErrorProvider.GetError (label1), "#5");
87 Assert.AreEqual (string.Empty, myErrorProvider.GetError (label2), "#6");
92 public void GetandSetIconAlignmentTest ()
94 TextBox myTextBox = new TextBox ();
95 ErrorProvider myErrorProvider = new ErrorProvider ();
96 myErrorProvider.SetIconAlignment (myTextBox, ErrorIconAlignment.MiddleRight);
97 Assert.AreEqual (ErrorIconAlignment.MiddleRight, myErrorProvider.GetIconAlignment (myTextBox), "#getset2");
101 public void GetandSetIconPaddingTest ()
103 Form myForm = new Form ();
104 myForm.ShowInTaskbar = false;
105 ErrorProvider myErrorProvider = new ErrorProvider ();
106 myErrorProvider.SetIconPadding (myForm, 2);
107 Assert.AreEqual (2, myErrorProvider.GetIconPadding (myForm), "#getset3");
112 public void Bug420305 ()
114 // Should not throw an NRE
115 Form f = new Form ();
116 TextBox tb = new TextBox ();
118 ErrorProvider ep = new ErrorProvider ();
119 ep.ContainerControl = f;
121 ep.SetIconAlignment (tb, ErrorIconAlignment.MiddleRight);
122 ep.SetIconPadding (tb, 2);
126 ep.SetError (tb, "arggggh");
131 public void ErrorProviderPropertyTag ()
133 ErrorProvider md = new ErrorProvider ();
134 object s = "MyString";
136 Assert.AreEqual (null, md.Tag, "A1");
139 Assert.AreSame (s, md.Tag, "A2");
143 public void MethodClear ()
145 Form myForm = new Form ();
146 myForm.ShowInTaskbar = false;
147 Label label1 = new Label ();
148 Label label2 = new Label ();
149 ErrorProvider myErrorProvider = new ErrorProvider ();
151 myErrorProvider.SetError (label1, "ErrorMsg1");
152 myErrorProvider.SetError (label2, "ErrorMsg2");
154 Assert.AreEqual ("ErrorMsg1", myErrorProvider.GetError (label1), "#1");
155 Assert.AreEqual ("ErrorMsg2", myErrorProvider.GetError (label2), "#2");
157 myErrorProvider.Clear ();
159 Assert.AreEqual (string.Empty, myErrorProvider.GetError (label1), "#3");
160 Assert.AreEqual (string.Empty, myErrorProvider.GetError (label2), "#4");