ErrorProviderTest.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. //
  2. // ErrorProviderTest.cs: Test cases for ErrorProvider.
  3. //
  4. // Author:
  5. // Ritvik Mayank ([email protected])
  6. //
  7. // (C) 2005 Novell, Inc. (http://www.novell.com)
  8. //
  9. using System;
  10. using NUnit.Framework;
  11. using System.Windows.Forms;
  12. using System.Drawing;
  13. using System.Data;
  14. using System.Runtime.Remoting;
  15. namespace MonoTests.System.Windows.Forms
  16. {
  17. [TestFixture]
  18. public class ErrorProviderTest : TestHelper
  19. {
  20. [Test]
  21. public void ErrorProviderPropertyTest ()
  22. {
  23. ErrorProvider myErrorProvider = new ErrorProvider ();
  24. // B
  25. Assert.AreEqual (250, myErrorProvider.BlinkRate, "#B1");
  26. Assert.AreEqual (ErrorBlinkStyle.BlinkIfDifferentError, myErrorProvider.BlinkStyle, "#B2");
  27. // C
  28. Assert.AreEqual (null, myErrorProvider.ContainerControl, "#C1");
  29. // D
  30. Assert.AreEqual (null, myErrorProvider.DataMember, "#D1");
  31. Assert.AreEqual (null, myErrorProvider.DataSource, "#D2");
  32. // I
  33. Assert.AreEqual (16, myErrorProvider.Icon.Height, "#I1");
  34. Assert.AreEqual (16, myErrorProvider.Icon.Width, "#I2");
  35. // S
  36. Assert.AreEqual (null, myErrorProvider.Site, "#S1");
  37. }
  38. [Test]
  39. public void BindToDateAndErrorsTest ()
  40. {
  41. ErrorProvider myErrorProvider = new ErrorProvider ();
  42. DataSet myDataSet= new DataSet();
  43. myErrorProvider.DataSource = myDataSet;
  44. myErrorProvider.DataMember = "Customers";
  45. Assert.AreEqual (myDataSet, myErrorProvider.DataSource, "#Bind1");
  46. Assert.AreEqual ("Customers", myErrorProvider.DataMember, "#Bind2");
  47. }
  48. [Test]
  49. public void CanExtendTest ()
  50. {
  51. Control myControl = new Control ();
  52. Form myForm = new Form ();
  53. myForm.ShowInTaskbar = false;
  54. ToolBar myToolBar = new ToolBar ();
  55. ErrorProvider myErrorProvider = new ErrorProvider ();
  56. Assert.AreEqual (myErrorProvider.CanExtend (myControl), true, "#ext1");
  57. Assert.AreEqual (myErrorProvider.CanExtend (myToolBar), false, "#ext2");
  58. Assert.AreEqual (myErrorProvider.CanExtend (myForm), false, "#ext3");
  59. myForm.Dispose ();
  60. }
  61. [Test]
  62. public void GetandSetErrorTest ()
  63. {
  64. Form myForm = new Form ();
  65. myForm.ShowInTaskbar = false;
  66. Label label1 = new Label ();
  67. Label label2 = new Label ();
  68. ErrorProvider myErrorProvider = new ErrorProvider ();
  69. Assert.AreEqual (string.Empty, myErrorProvider.GetError (label1), "#1");
  70. myErrorProvider.SetError (label1, "ErrorMsg1");
  71. Assert.AreEqual ("ErrorMsg1", myErrorProvider.GetError (label1), "#2");
  72. Assert.AreEqual (string.Empty, myErrorProvider.GetError (label2), "#3");
  73. myErrorProvider.SetError (label2, "ErrorMsg2");
  74. Assert.AreEqual ("ErrorMsg2", myErrorProvider.GetError (label2), "#4");
  75. myErrorProvider.SetError (label2, null);
  76. Assert.AreEqual ("ErrorMsg1", myErrorProvider.GetError (label1), "#5");
  77. Assert.AreEqual (string.Empty, myErrorProvider.GetError (label2), "#6");
  78. myForm.Dispose ();
  79. }
  80. [Test]
  81. public void GetandSetIconAlignmentTest ()
  82. {
  83. TextBox myTextBox = new TextBox ();
  84. ErrorProvider myErrorProvider = new ErrorProvider ();
  85. myErrorProvider.SetIconAlignment (myTextBox, ErrorIconAlignment.MiddleRight);
  86. Assert.AreEqual (ErrorIconAlignment.MiddleRight, myErrorProvider.GetIconAlignment (myTextBox), "#getset2");
  87. }
  88. [Test]
  89. public void GetandSetIconPaddingTest ()
  90. {
  91. Form myForm = new Form ();
  92. myForm.ShowInTaskbar = false;
  93. ErrorProvider myErrorProvider = new ErrorProvider ();
  94. myErrorProvider.SetIconPadding (myForm, 2);
  95. Assert.AreEqual (2, myErrorProvider.GetIconPadding (myForm), "#getset3");
  96. myForm.Dispose ();
  97. }
  98. [Test]
  99. public void Bug420305 ()
  100. {
  101. // Should not throw an NRE
  102. Form f = new Form ();
  103. TextBox tb = new TextBox ();
  104. ErrorProvider ep = new ErrorProvider ();
  105. ep.ContainerControl = f;
  106. ep.SetIconAlignment (tb, ErrorIconAlignment.MiddleRight);
  107. ep.SetIconPadding (tb, 2);
  108. f.Controls.Add (tb);
  109. ep.SetError (tb, "arggggh");
  110. }
  111. #if NET_2_0
  112. [Test]
  113. public void ErrorProviderPropertyTag ()
  114. {
  115. ErrorProvider md = new ErrorProvider ();
  116. object s = "MyString";
  117. Assert.AreEqual (null, md.Tag, "A1");
  118. md.Tag = s;
  119. Assert.AreSame (s, md.Tag, "A2");
  120. }
  121. [Test]
  122. public void MethodClear ()
  123. {
  124. Form myForm = new Form ();
  125. myForm.ShowInTaskbar = false;
  126. Label label1 = new Label ();
  127. Label label2 = new Label ();
  128. ErrorProvider myErrorProvider = new ErrorProvider ();
  129. myErrorProvider.SetError (label1, "ErrorMsg1");
  130. myErrorProvider.SetError (label2, "ErrorMsg2");
  131. Assert.AreEqual ("ErrorMsg1", myErrorProvider.GetError (label1), "#1");
  132. Assert.AreEqual ("ErrorMsg2", myErrorProvider.GetError (label2), "#2");
  133. myErrorProvider.Clear ();
  134. Assert.AreEqual (string.Empty, myErrorProvider.GetError (label1), "#3");
  135. Assert.AreEqual (string.Empty, myErrorProvider.GetError (label2), "#4");
  136. myForm.Dispose ();
  137. }
  138. #endif
  139. }
  140. }