Merge pull request #325 from adbre/iss5464
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / BindingManagerBaseTest.cs
index 5327504c28b2ac37490ad4ff8c8ee9244817b77f..258bf9b6556b70b43b0eb0a97e8af7d6e2a15040 100644 (file)
@@ -36,15 +36,11 @@ using CategoryAttribute = NUnit.Framework.CategoryAttribute;
 namespace MonoTests.System.Windows.Forms.DataBinding
 {
        [TestFixture]
-       public class BindingManagerBaseTest {
+       public class BindingManagerBaseTest : TestHelper {
                
                [Test]
                public void BindingsTest ()
                {
-                       if (TestHelper.RunningOnUnix) {
-                               Assert.Ignore ("Fails at the moment");
-                       }
-
                        Control c1 = new Control ();
                        Control c2 = new Control ();
 
@@ -72,5 +68,32 @@ namespace MonoTests.System.Windows.Forms.DataBinding
 
                        Assert.AreEqual (bm2.Bindings[0], binding, "3");
                }
+
+#if NET_2_0
+               [Test]
+               public void IsBindingSuspendedTest ()
+               {
+                       Control c = new Control ();
+                       c.BindingContext = new BindingContext ();
+
+                       MockItem item = new MockItem ("A", 0);
+                       MockItem [] items = new MockItem [] { item };
+
+                       BindingManagerBase manager = c.BindingContext [item];
+                       BindingManagerBase manager2 = c.BindingContext [items];
+                       Assert.IsFalse (manager.IsBindingSuspended, "#A1");
+                       Assert.IsFalse (manager2.IsBindingSuspended, "#A2");
+
+                       manager.SuspendBinding ();
+                       manager2.SuspendBinding ();
+                       Assert.IsFalse (manager.IsBindingSuspended, "#B1");
+                       Assert.IsTrue (manager2.IsBindingSuspended, "#B2");
+
+                       manager.ResumeBinding ();
+                       manager2.ResumeBinding ();
+                       Assert.IsFalse (manager.IsBindingSuspended, "#C1");
+                       Assert.IsFalse (manager2.IsBindingSuspended, "#C2");
+               }
+#endif
        }
 }