2007-03-28 Igor Zelmanovich <igorz@mainsoft.com>
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / CurrencyManagerTest.cs
index 8c095dea3c93dfc72d2fc9c20ce8170e1a6dabc1..46e065bb945ad7c1eafb5176dba01296cb9999c5 100644 (file)
 // Authors:
 //     Jackson Harper  jackson@ximian.com
 
-
 using System;
-using System.Data;
 using System.Collections;
 using System.ComponentModel;
+using System.Data;
 using System.Reflection;
 using System.Windows.Forms;
 
 using NUnit.Framework;
 
-namespace MonoTests.System.Windows.Forms {
-
+namespace MonoTests.System.Windows.Forms
+{
        [TestFixture]
-       public class CurrencyManagerTest {
-
+       public class CurrencyManagerTest
+       {
                [Test]
                public void Defaults ()
                {
@@ -108,6 +107,30 @@ namespace MonoTests.System.Windows.Forms {
 
                        // child list can't be created
                        cm = bc [dataset, "Table"] as CurrencyManager;
+
+                       TestHelper.RemoveWarning (cm);
+               }
+
+               [Test] // bug #80107
+               public void DataView ()
+               {
+                       DataView dv = new DataView ();
+
+                       BindingContext bc = new BindingContext ();
+                       CurrencyManager cm = bc [dv, string.Empty] as CurrencyManager;
+                       Assert.IsNotNull (cm, "#A1");
+                       Assert.AreEqual (0, cm.Count, "#A2");
+                       Assert.AreEqual (-1, cm.Position, "#A3");
+
+                       DataTable dt = new DataTable ("Testdata");
+                       dt.Columns.Add ("A");
+                       dt.Columns.Add ("B");
+                       dt.Rows.Add (new object [] { "A1", "B1" });
+                       dt.Rows.Add (new object [] { "A2", "B2" });
+                       dv.Table = dt;
+
+                       Assert.AreEqual (2, cm.Count, "#B1");
+                       Assert.AreEqual (0, cm.Position, "#B2");
                }
 
                [Test]
@@ -404,6 +427,8 @@ namespace MonoTests.System.Windows.Forms {
 
                        // Can't create a list on a child relation
                        CurrencyManager cm = bc [data_source, "Table2.Relation"] as CurrencyManager;
+
+                       TestHelper.RemoveWarning (cm);
                }
 
                [Test]
@@ -718,8 +743,8 @@ namespace MonoTests.System.Windows.Forms {
 
                        cm.EndCurrentEdit ();
 
-                       //                      Assert.AreEqual (3, item_changed, "EndAddNew7");
-                       //                      Assert.AreEqual (-1, item_changed_args.Index, "EndAddNew8");
+                       Assert.AreEqual (3, item_changed, "EndAddNew7");
+                       Assert.AreEqual (-1, item_changed_args.Index, "EndAddNew8");
                        Assert.AreEqual (1, current_changed, "EndAddNew9");
                        Assert.AreEqual (2, position_changed, "EndAddNew10");
 
@@ -965,4 +990,3 @@ namespace MonoTests.System.Windows.Forms {
                }
        }
 }
-