Author: toshok
Date: 2007-04-27 15:38:11 -0400 (Fri, 27 Apr 2007)
New Revision: 76400
Modified:
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/BindingManagerBaseTest.cs
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/BindingSourceTest.cs
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/BindingTest.cs
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/CurrencyManagerTest.cs
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/DataBindingTests.cs
Log:
2007-04-27 Chris Toshok <[EMAIL PROTECTED]>
* CurrencyManagerTest.cs, DataBindingTests.cs,
BindingManagerBaseTest.cs, BindingSourceTest.cs, BindingTest.cs:
lots of misc changes.
Modified:
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/BindingManagerBaseTest.cs
===================================================================
---
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/BindingManagerBaseTest.cs
2007-04-27 18:31:21 UTC (rev 76399)
+++
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/BindingManagerBaseTest.cs
2007-04-27 19:38:11 UTC (rev 76400)
@@ -39,9 +39,12 @@
public class BindingManagerBaseTest {
[Test]
- [Category ("NotWorking")]
public void BindingsTest ()
{
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails at the moment");
+ }
+
Control c1 = new Control ();
Control c2 = new Control ();
@@ -67,7 +70,7 @@
Assert.AreEqual (0, bm.Bindings.Count, "1");
Assert.AreEqual (1, bm2.Bindings.Count, "2");
- Assert.AreEqual (bm2.Bindings[0], binding, "2");
+ Assert.AreEqual (bm2.Bindings[0], binding, "3");
}
}
}
Modified:
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/BindingSourceTest.cs
===================================================================
---
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/BindingSourceTest.cs
2007-04-27 18:31:21 UTC (rev 76399)
+++
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/BindingSourceTest.cs
2007-04-27 19:38:11 UTC (rev 76400)
@@ -47,9 +47,12 @@
}
[Test]
- [Category ("NotWorking")]
public void DataSource_InitialAddChangingType ()
{
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails at the moment");
+ }
+
BindingSource source = new BindingSource ();
source.Add ((int)32);
@@ -450,9 +453,12 @@
[Test]
[ExpectedException (typeof (ArgumentException))] // DataMember
property 'hi' cannot be found on the DataSource.
- [Category ("NotWorking")]
public void DataMemberArgumentException ()
{
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails at the moment");
+ }
+
ArrayList list = new ArrayList ();
BindingSource source = new BindingSource ();
source.DataSource = list;
@@ -504,9 +510,12 @@
}
[Test]
- [Category ("NotWorking")]
public void SuppliedDataSource ()
{
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails at the moment");
+ }
+
List<string> list = new List<string>();
BindingSource source;
@@ -522,9 +531,12 @@
}
[Test]
- [Category ("NotWorking")]
public void DataSourceMember_set ()
{
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails at the moment");
+ }
+
BindingSource source = new BindingSource ();
source.DataSource = new List<string>();
@@ -569,18 +581,24 @@
}
[Test]
- [Category ("NotWorking")]
public void AddNew ()
{
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails at the moment");
+ }
+
BindingSource source = new BindingSource ();
source.AddNew ();
Assert.AreEqual (1, source.Count, "1");
}
[Test]
- [Category ("NotWorking")]
public void AddNew_NonBindingList ()
{
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails at the moment");
+ }
+
IList list = new List<object> ();
BindingSource source = new BindingSource ();
source.DataSource = list;
@@ -609,9 +627,12 @@
}
[Test]
- [Category ("NotWorking")]
public void AllowNew ()
{
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails at the moment");
+ }
+
BindingSource source = new BindingSource ();
source.AllowNew = false;
@@ -625,12 +646,15 @@
[Test]
[ExpectedException (typeof (InvalidOperationException))]
- [Category ("NotWorking")]
// "AllowNew can only be set to true on an
// IBindingList or on a read-write list with a default
// public constructor."
public void AllowNew_FixedSize ()
{
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails at the moment");
+ }
+
BindingSource source = new BindingSource ();
source.DataSource = new object[10];
@@ -722,10 +746,13 @@
[Test]
[ExpectedException (typeof (InvalidOperationException))]
- [Category ("NotWorking")]
// "AddNew cannot be called on the 'System.String' type. This
type does not have a public default constructor. You can call AddNew on the
'System.String' type if you set AllowNew=true and handle the AddingNew event."
public void AddNew_Invalid ()
{
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails at the moment");
+ }
+
BindingSource source = new BindingSource ();
source.DataSource = new List<string>();
object o = source.AddNew ();
@@ -734,9 +761,12 @@
}
[Test]
- [Category ("NotWorking")]
public void BindingSuspended1 ()
{
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails at the moment");
+ }
+
/* how does this property work? */
BindingSource source = new BindingSource ();
Modified:
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/BindingTest.cs
===================================================================
---
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/BindingTest.cs
2007-04-27 18:31:21 UTC (rev 76399)
+++
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/BindingTest.cs
2007-04-27 19:38:11 UTC (rev 76400)
@@ -86,9 +86,12 @@
}
[Test]
- [Category ("NotWorking")]
public void BindingManagerBaseTest ()
{
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails at the moment");
+ }
+
Control c1 = new Control ();
Control c2 = new Control ();
Binding binding;
@@ -179,9 +182,7 @@
f.BindingContextChanged += new EventHandler
(Event_Handler1);
eventcount = 0;
- Console.WriteLine (">>>");
f.Show ();
- Console.WriteLine ("<<<");
#if NET_2_0
Assert.AreEqual (5, eventcount, "A1");
#else
Modified:
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
2007-04-27 18:31:21 UTC (rev 76399)
+++ trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
2007-04-27 19:38:11 UTC (rev 76400)
@@ -1,3 +1,9 @@
+2007-04-27 Chris Toshok <[EMAIL PROTECTED]>
+
+ * CurrencyManagerTest.cs, DataBindingTests.cs,
+ BindingManagerBaseTest.cs, BindingSourceTest.cs, BindingTest.cs:
+ lots of misc changes.
+
2007-04-26 Jonathan Pobst <[EMAIL PROTECTED]>
* ToolStripTest.cs: Fix the failing MethodGetNextItem test.
Modified:
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/CurrencyManagerTest.cs
===================================================================
---
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/CurrencyManagerTest.cs
2007-04-27 18:31:21 UTC (rev 76399)
+++
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/CurrencyManagerTest.cs
2007-04-27 19:38:11 UTC (rev 76400)
@@ -31,8 +31,6 @@
using NUnit.Framework;
-using CategoryAttribute = NUnit.Framework.CategoryAttribute;
-
namespace MonoTests.System.Windows.Forms.DataBinding
{
[TestFixture]
@@ -716,6 +714,10 @@
[Test]
public void CancelAddNew ()
{
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails at the moment");
+ }
+
DataSet data_source = CreateRelatedDataSet ();
BindingContext bc = new BindingContext ();
CurrencyManager cm = bc [data_source, "Table1"] as
CurrencyManager;
@@ -757,10 +759,20 @@
[Test]
public void EndAddNew ()
{
+#if NET_2_0
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails with 2.0 profile");
+ }
+#endif
DataSet data_source = CreateRelatedDataSet ();
BindingContext bc = new BindingContext ();
- CurrencyManager cm = bc [data_source, "Table1"] as
CurrencyManager;
+ CurrencyManager cm = bc [data_source.Tables["Table1"],
""] as CurrencyManager;
+ data_source.Tables["Table1"].DefaultView.ListChanged +=
delegate (object sender, ListChangedEventArgs e) {
+ Console.WriteLine ("{0} {1} {2}",
e.ListChangedType, e.OldIndex, e.NewIndex);
+ Console.WriteLine ("position = {0}",
cm.Position);
+ };
+
event_num = current_changed = position_changed = -1;
cm.CurrentChanged += new EventHandler (CurrentChanged);
cm.PositionChanged += new EventHandler
(PositionChanged);
@@ -770,6 +782,7 @@
Assert.AreEqual (10, cm.Count, "EndAddNew2");
cm.AddNew ();
+ Console.WriteLine ("position = {0}", cm.Position);
Assert.AreEqual (0, item_changed, "EndAddNew3");
Assert.AreEqual (-1, item_changed_args.Index,
"EndAddNew4");
@@ -777,6 +790,7 @@
Assert.AreEqual (2, position_changed, "EndAddNew6");
cm.EndCurrentEdit ();
+ Console.WriteLine ("position = {0}", cm.Position);
Assert.AreEqual (3, item_changed, "EndAddNew7");
Assert.AreEqual (-1, item_changed_args.Index,
"EndAddNew8");
@@ -1024,99 +1038,5 @@
Assert.IsTrue (typeof (DataView).IsAssignableFrom
(GetFinalType (cm)), "A6");
}
- // dataview binding
- [Test]
- public void Bug81022 ()
- {
- BindingContext bc = new BindingContext ();
- CurrencyManager cm;
-
- DataView dv = new DataView();
- DataTable dt = new DataTable("Testdata");
-
- cm = (CurrencyManager)bc [dt];
-
- event_num = current_changed = position_changed =
item_changed = metadata_changed = -1;
- cm.CurrentChanged += new EventHandler (CurrentChanged);
- cm.PositionChanged += new EventHandler
(PositionChanged);
- cm.ItemChanged += new ItemChangedEventHandler
(ItemChanged);
- cm.MetaDataChanged += new EventHandler
(MetaDataChanged);
- dv.ListChanged += new ListChangedEventHandler
(ListChanged);
-
- dv.Table = dt;
-
- Assert.AreEqual (-1, current_changed, "1");
- Assert.AreEqual (-1, position_changed, "2");
- Assert.AreEqual (-1, item_changed, "3");
- Assert.AreEqual (-1, metadata_changed, "4");
-
- event_num = current_changed = position_changed =
item_changed = metadata_changed = -1;
- dt.Columns.Add("A");
- Assert.AreEqual (-1, current_changed, "5");
- Assert.AreEqual (-1, position_changed, "6");
- Assert.AreEqual (-1, item_changed, "7");
- Assert.AreEqual (0, metadata_changed, "8");
-
- event_num = current_changed = position_changed =
item_changed = metadata_changed = -1;
- dt.Columns.Add("B");
- Assert.AreEqual (-1, current_changed, "9");
- Assert.AreEqual (-1, position_changed, "10");
- Assert.AreEqual (-1, item_changed, "11");
- Assert.AreEqual (0, metadata_changed, "12");
-
- event_num = current_changed = position_changed =
item_changed = metadata_changed = -1;
- dt.Rows.Add(new object[]{"A1", "B1"});
- Assert.AreEqual (1, current_changed, "13");
- Assert.AreEqual (0, position_changed, "14");
- Assert.AreEqual (3, item_changed, "15");
- Assert.AreEqual (-1, metadata_changed, "16");
-
- event_num = current_changed = position_changed =
item_changed = metadata_changed = -1;
- dt.Rows.Add(new object[]{"A2", "B2"});
- Assert.AreEqual (-1, current_changed, "17");
- Assert.AreEqual (-1, position_changed, "18");
- Assert.AreEqual (0, item_changed, "19");
- Assert.AreEqual (-1, metadata_changed, "20");
-
- Assert.AreEqual (2, cm.Count, "21");
- }
-
-#if NET_2_0
- [Test]
- [Category ("NotWorking")]
- public void TestDeleteInEdit ()
- {
- BindingContext bc = new BindingContext ();
- CurrencyManager cm;
-
- DataSet dataSet1 = new DataSet();
- dataSet1.Tables.Add();
- dataSet1.Tables[0].Columns.Add();
- dataSet1.Tables[0].Rows.Add();
-
- cm = (CurrencyManager) bc[dataSet1,
dataSet1.Tables[0].TableName];
-
- cm.Position = 0;
-
- Assert.AreEqual (1, cm.Count, "1");
-
- DataRowView row = (DataRowView)cm.Current;
-
- event_num = current_changed = position_changed =
item_changed = metadata_changed = -1;
- event_log = "";
- cm.CurrentChanged += new EventHandler (CurrentChanged);
- cm.PositionChanged += new EventHandler
(PositionChanged);
- cm.ItemChanged += new ItemChangedEventHandler
(ItemChanged);
- cm.MetaDataChanged += new EventHandler
(MetaDataChanged);
-
- Console.WriteLine (">>>>");
- row.Delete ();
- Console.WriteLine ("<<<<");
-
- Assert.AreEqual ("0: PositionChanged (to -1)\n1:
ItemChanged (index = -1)\n2: PositionChanged (to -1)\n3: CurrentChanged\n4:
ItemChanged (index = -1)\n", event_log, "1");
-
- Assert.AreEqual (0, cm.Count, "2");
- }
-#endif
}
}
Modified:
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/DataBindingTests.cs
===================================================================
---
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/DataBindingTests.cs
2007-04-27 18:31:21 UTC (rev 76399)
+++
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/DataBindingTests.cs
2007-04-27 19:38:11 UTC (rev 76400)
@@ -22,6 +22,8 @@
// Authors:
// Chris Toshok [EMAIL PROTECTED]
+//#define WITH_BINDINGS
+
using System;
using System.Collections;
using System.ComponentModel;
@@ -92,6 +94,12 @@
event_log += String.Format ("{0}: Binding.Parse\n",
event_num++);
}
+ void TextChanged (object sender, EventArgs e)
+ {
+ Console.WriteLine (Environment.StackTrace);
+ event_log += String.Format ("{0}: TextChanged\n",
event_num++);
+ }
+
protected void HookupCurrencyManager (CurrencyManager cm)
{
cm.CurrentChanged += new EventHandler (CurrentChanged);
@@ -121,14 +129,18 @@
b.Parse += new ConvertEventHandler (Parse);
b.Format += new ConvertEventHandler (Format);
}
+
+ protected void HookupControl (Control c)
+ {
+ c.TextChanged += new EventHandler (TextChanged);
+ }
}
[TestFixture]
public class CurrencyManagerTest2 : DataBindingTest
{
[Test]
- [Category ("NotWorking")]
- public void TestRowDelete ()
+ public void TestDeleteOnlyRow ()
{
Control c = new Control ();
c.CreateControl ();
@@ -162,37 +174,215 @@
Console.WriteLine (event_log);
+ Assert.AreEqual (
#if NET_2_0
- Assert.AreEqual ("0: PositionChanged (to -1)\n1:
ItemChanged (index = -1)\n2: PositionChanged (to -1)\n3: CurrentChanged\n4:
CurrentItemChanged\n5: ItemChanged (index = -1)\n", event_log, "2");
-#else
- Assert.AreEqual ("0: PositionChanged (to -1)\n1:
ItemChanged (index = -1)\n2: ItemChanged (index = -1)\n", event_log, "2");
+ "0: PositionChanged (to -1)\n1: ItemChanged
(index = -1)\n2: PositionChanged (to -1)\n3: CurrentChanged\n4:
CurrentItemChanged\n5: ItemChanged (index = -1)\n"
+#else // NET_1_0
+ "0: PositionChanged (to -1)\n1: ItemChanged
(index = -1)\n2: ItemChanged (index = -1)\n"
#endif
+ , event_log, "2");
Assert.AreEqual (0, cm.Count, "3");
}
[Test]
- [Category ("NotWorking")]
- public void TestRowAdd ()
+ public void TestDeleteRowBeforeCurrent ()
{
Control c = new Control ();
c.CreateControl ();
Binding binding;
CurrencyManager cm;
+ DataRow newrow;
DataSet dataSet1 = new DataSet();
dataSet1.Tables.Add();
dataSet1.Tables[0].Columns.Add();
+ newrow = dataSet1.Tables[0].NewRow ();
+ dataSet1.Tables[0].Rows.Add(newrow);
+
+ newrow = dataSet1.Tables[0].NewRow ();
+ dataSet1.Tables[0].Rows.Add(newrow);
+
c.BindingContext = new BindingContext ();
cm = (CurrencyManager) c.BindingContext[dataSet1,
dataSet1.Tables[0].TableName];
binding = c.DataBindings.Add ("Text",
dataSet1.Tables[0], dataSet1.Tables[0].Columns[0].ColumnName);
HookupCurrencyManager (cm);
+#if WITH_BINDINGS
HookupBinding (binding);
+#endif
+ cm.Position = 1;
+
+ Assert.AreEqual (2, cm.Count, "1");
+
+ DataView dv = dataSet1.Tables[0].DefaultView;
+ DataRowView row = dv[0];
+
+ event_log = "";
+ event_num = 0;
+
+ row.Delete ();
+
+ Console.WriteLine (event_log);
+
+ Assert.AreEqual (
+
+#if NET_2_0
+#if WITH_BINDINGS
+ "0: CurrentChanged\n1: CurrentItemChanged\n2:
PositionChanged (to 0)\n3: ItemChanged (index = -1)\n4: Binding.Format\n"
+#else
+ "0: CurrentChanged\n1: CurrentItemChanged\n2:
PositionChanged (to 0)\n3: ItemChanged (index = -1)\n"
+#endif
+#else // NET_1_0
+#if WITH_BINDINGS
+ "0: CurrentChanged\n1: PositionChanged (to
0)\n2: ItemChanged (index = -1)\n3: Binding.Format\n"
+#else
+ "0: CurrentChanged\n1: PositionChanged (to
0)\n2: ItemChanged (index = -1)\n"
+#endif
+#endif
+ , event_log, "2");
+ }
+
+ [Test]
+ public void TestDeleteRowAfterCurrent ()
+ {
+ Control c = new Control ();
+ c.CreateControl ();
+ Binding binding;
+ CurrencyManager cm;
+ DataRow newrow;
+
+ DataSet dataSet1 = new DataSet();
+ dataSet1.Tables.Add();
+ dataSet1.Tables[0].Columns.Add();
+
+ newrow = dataSet1.Tables[0].NewRow ();
+ dataSet1.Tables[0].Rows.Add(newrow);
+
+ newrow = dataSet1.Tables[0].NewRow ();
+ dataSet1.Tables[0].Rows.Add(newrow);
+
+ c.BindingContext = new BindingContext ();
+ cm = (CurrencyManager) c.BindingContext[dataSet1,
dataSet1.Tables[0].TableName];
+ binding = c.DataBindings.Add ("Text",
dataSet1.Tables[0], dataSet1.Tables[0].Columns[0].ColumnName);
+
+ HookupCurrencyManager (cm);
+#if WITH_BINDINGS
+ HookupBinding (binding);
+#endif
+
cm.Position = 0;
+ Assert.AreEqual (2, cm.Count, "1");
+
+ DataView dv = dataSet1.Tables[0].DefaultView;
+ DataRowView row = dv[1];
+
+ event_log = "";
+ event_num = 0;
+
+ row.Delete ();
+
+ Console.WriteLine (event_log);
+
+#if WITH_BINDINGS
+ Assert.AreEqual ("0: ItemChanged (index = -1)\n1:
Binding.Format\n", event_log, "2");
+#else
+ Assert.AreEqual ("0: ItemChanged (index = -1)\n",
event_log, "2");
+#endif
+
+ Assert.AreEqual (1, cm.Count, "3");
+ }
+
+ [Test]
+ public void TestDeleteCurrentRowWithOthers ()
+ {
+ Control c = new Control ();
+ c.CreateControl ();
+ Binding binding;
+ CurrencyManager cm;
+ DataRow newrow;
+
+ DataSet dataSet1 = new DataSet();
+ dataSet1.Tables.Add();
+ dataSet1.Tables[0].Columns.Add();
+
+ newrow = dataSet1.Tables[0].NewRow ();
+ dataSet1.Tables[0].Rows.Add(newrow);
+
+ newrow = dataSet1.Tables[0].NewRow ();
+ dataSet1.Tables[0].Rows.Add(newrow);
+
+ c.BindingContext = new BindingContext ();
+ cm = (CurrencyManager) c.BindingContext[dataSet1,
dataSet1.Tables[0].TableName];
+ binding = c.DataBindings.Add ("Text",
dataSet1.Tables[0], dataSet1.Tables[0].Columns[0].ColumnName);
+
+ HookupCurrencyManager (cm);
+#if WITH_BINDINGS
+ HookupBinding (binding);
+#endif
+ cm.Position = 0;
+
+ Assert.AreEqual (2, cm.Count, "1");
+
+ DataView dv = dataSet1.Tables[0].DefaultView;
+ DataRowView row = dv[0];
+
+ event_log = "";
+ event_num = 0;
+
+ row.Delete ();
+
+ Console.WriteLine (event_log);
+
+ Assert.AreEqual (
+#if NET_2_0
+#if WITH_BINDINGS
+ "0: CurrentChanged\n1: CurrentItemChanged\n2:
ItemChanged (index = -1)\n3: Binding.Format\n"
+#else
+ "0: CurrentChanged\n1: CurrentItemChanged\n2:
ItemChanged (index = -1)\n"
+#endif
+#else
+#if WITH_BINDINGS
+ "0: CurrentChanged\n1: ItemChanged (index =
-1)\n2: Binding.Format\n"
+#else
+ "0: CurrentChanged\n1: ItemChanged (index =
-1)\n"
+#endif
+#endif
+ , event_log, "2");
+
+ Assert.AreEqual (1, cm.Count, "3");
+ }
+
+ [Test]
+ public void TestAddFirstRow ()
+ {
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails at the moment");
+ }
+
+ Control c = new Control ();
+ c.CreateControl ();
+ Binding binding;
+ CurrencyManager cm;
+
+ DataSet dataSet1 = new DataSet();
+ dataSet1.Tables.Add();
+ dataSet1.Tables[0].Columns.Add();
+
+ c.BindingContext = new BindingContext ();
+ cm = (CurrencyManager) c.BindingContext[dataSet1,
dataSet1.Tables[0].TableName];
+ binding = c.DataBindings.Add ("Text",
dataSet1.Tables[0], dataSet1.Tables[0].Columns[0].ColumnName);
+
+ HookupCurrencyManager (cm);
+#if WITH_BINDINGS
+ HookupBinding (binding);
+#endif
+
+ cm.Position = 0;
+
Assert.AreEqual (0, cm.Count, "1");
event_log = "";
@@ -201,22 +391,31 @@
Console.WriteLine (">>>");
DataRow newrow = dataSet1.Tables[0].NewRow ();
dataSet1.Tables[0].Rows.Add(newrow);
+ Console.WriteLine ("<<<");
Console.WriteLine (event_log);
- Console.WriteLine ("<<<");
+ Assert.AreEqual (
#if NET_2_0
- Assert.AreEqual ("0: PositionChanged (to 0)\n1:
CurrentChanged\n2: CurrentItemChanged\n3: ItemChanged (index = -1)\n4:
ItemChanged (index = -1)\n5: Binding.Format\n6: Binding.Format\n7:
Binding.Format\n", event_log, "2");
+#if WITH_BINDINGS
+ "0: PositionChanged (to 0)\n1:
CurrentChanged\n2: CurrentItemChanged\n3: ItemChanged (index = -1)\n4:
ItemChanged (index = -1)\n5: Binding.Format\n6: Binding.Format\n7:
Binding.Format\n"
#else
- Assert.AreEqual ("0: PositionChanged (to 0)\n1:
CurrentChanged\n2: ItemChanged (index = -1)\n3: ItemChanged (index = -1)\n4:
Binding.Format\n5: Binding.Format\n6: Binding.Format\n", event_log, "2");
+ "0: PositionChanged (to 0)\n1:
CurrentChanged\n2: CurrentItemChanged\n3: ItemChanged (index = -1)\n4:
ItemChanged (index = -1)\n"
#endif
+#else
+#if WITH_BINDINGS
+ "0: PositionChanged (to 0)\n1:
CurrentChanged\n2: ItemChanged (index = -1)\n3: ItemChanged (index = -1)\n4:
Binding.Format\n5: Binding.Format\n6: Binding.Format\n"
+#else
+ "0: PositionChanged (to 0)\n1:
CurrentChanged\n2: ItemChanged (index = -1)\n3: ItemChanged (index = -1)\n"
+#endif
+#endif
+ , event_log, "2");
Assert.AreEqual (1, cm.Count, "3");
}
[Test]
- [Category ("NotWorking")]
- public void TestRowAddAnother ()
+ public void TestAppendRowAfterCurrent ()
{
Control c = new Control ();
c.CreateControl ();
@@ -232,7 +431,9 @@
binding = c.DataBindings.Add ("Text",
dataSet1.Tables[0], dataSet1.Tables[0].Columns[0].ColumnName);
HookupCurrencyManager (cm);
+#if WITH_BINDINGS
HookupBinding (binding);
+#endif
cm.Position = 0;
@@ -241,8 +442,6 @@
DataRow newrow = dataSet1.Tables[0].NewRow ();
dataSet1.Tables[0].Rows.Add(newrow);
- Console.WriteLine (">>>");
-
event_log = "";
event_num = 0;
@@ -250,15 +449,144 @@
dataSet1.Tables[0].Rows.Add(newrow);
Console.WriteLine (event_log);
- Console.WriteLine ("<<<");
+#if WITH_BINDINGS
Assert.AreEqual ("0: ItemChanged (index = -1)\n1:
Binding.Format\n", event_log, "2");
+#else
+ Assert.AreEqual ("0: ItemChanged (index = -1)\n",
event_log, "2");
+#endif
- Assert.AreEqual (1, cm.Count, "3");
+ Assert.AreEqual (2, cm.Count, "3");
}
[Test]
- [Category ("NotWorking")]
+ public void TestInsertRowBeforeCurrent ()
+ {
+#if NET_2_0
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails with 2.0 profile");
+ }
+#endif
+ Control c = new Control ();
+ c.CreateControl ();
+ Binding binding;
+ CurrencyManager cm;
+
+ DataSet dataSet1 = new DataSet();
+ dataSet1.Tables.Add();
+ dataSet1.Tables[0].Columns.Add();
+
+ c.BindingContext = new BindingContext ();
+ cm = (CurrencyManager) c.BindingContext[dataSet1,
dataSet1.Tables[0].TableName];
+ binding = c.DataBindings.Add ("Text",
dataSet1.Tables[0], dataSet1.Tables[0].Columns[0].ColumnName);
+
+ /* insert 2 rows */
+ DataRow newrow = dataSet1.Tables[0].NewRow ();
+ dataSet1.Tables[0].Rows.Add(newrow);
+ newrow = dataSet1.Tables[0].NewRow ();
+ dataSet1.Tables[0].Rows.Add(newrow);
+
+ Assert.AreEqual (2, cm.Count, "1");
+
+ cm.Position = 1;
+
+ HookupCurrencyManager (cm);
+#if WITH_BINDINGS
+ HookupBinding (binding);
+#endif
+
+ event_log = "";
+ event_num = 0;
+
+ newrow = dataSet1.Tables[0].NewRow ();
+ dataSet1.Tables[0].Rows.InsertAt(newrow, 0);
+
+ Console.WriteLine (event_log);
+
+ Assert.AreEqual (
+#if NET_2_0
+#if WITH_BINDINGS
+ "0: CurrentChanged\n1: CurrentItemChanged\n2:
ItemChanged (index = -1)\n3: PositionChanged (to 2)\n4: Binding.Format\n"
+#else
+ "0: CurrentChanged\n1: CurrentItemChanged\n2:
ItemChanged (index = -1)\n3: PositionChanged (to 2)\n"
+#endif
+#else
+#if WITH_BINDINGS
+ "0: ItemChanged (index = -1)\n1:
Binding.Format\n"
+#else
+ "0: ItemChanged (index = -1)\n"
+#endif
+#endif
+ , event_log, "2");
+
+ Assert.AreEqual (3, cm.Count, "3");
+ }
+
+ [Test]
+ public void TestInsertRowAtCurrent ()
+ {
+#if NET_2_0
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails with 2.0 profile");
+ }
+#endif
+
+ Control c = new Control ();
+ c.CreateControl ();
+ Binding binding;
+ CurrencyManager cm;
+
+ DataSet dataSet1 = new DataSet();
+ dataSet1.Tables.Add();
+ dataSet1.Tables[0].Columns.Add();
+
+ c.BindingContext = new BindingContext ();
+ cm = (CurrencyManager) c.BindingContext[dataSet1,
dataSet1.Tables[0].TableName];
+ binding = c.DataBindings.Add ("Text",
dataSet1.Tables[0], dataSet1.Tables[0].Columns[0].ColumnName);
+
+ HookupCurrencyManager (cm);
+#if WITH_BINDINGS
+ HookupBinding (binding);
+#endif
+
+ /* insert 2 rows */
+ DataRow newrow = dataSet1.Tables[0].NewRow ();
+ dataSet1.Tables[0].Rows.Add(newrow);
+ newrow = dataSet1.Tables[0].NewRow ();
+ dataSet1.Tables[0].Rows.Add(newrow);
+
+ Assert.AreEqual (2, cm.Count, "1");
+
+ cm.Position = 1;
+
+ event_log = "";
+ event_num = 0;
+
+ newrow = dataSet1.Tables[0].NewRow ();
+ dataSet1.Tables[0].Rows.InsertAt(newrow, 1);
+
+ Console.WriteLine (event_log);
+
+ Assert.AreEqual (
+#if NET_2_0
+#if WITH_BINDINGS
+ "0: CurrentChanged\n1: CurrentItemChanged\n2:
ItemChanged (index = -1)\n3: PositionChanged (to 2)\n4: Binding.Format\n"
+#else
+ "0: CurrentChanged\n1: CurrentItemChanged\n2:
ItemChanged (index = -1)\n3: PositionChanged (to 2)\n"
+#endif
+#else
+#if WITH_BINDINGS
+ "0: ItemChanged (index = -1)\n1:
Binding.Format\n"
+#else
+ "0: ItemChanged (index = -1)\n"
+#endif
+#endif
+ , event_log, "2");
+
+ Assert.AreEqual (3, cm.Count, "3");
+ }
+
+ [Test]
public void TestColumnAdd ()
{
Control c = new Control ();
@@ -415,7 +743,6 @@
}
[Test]
- [Category ("NotWorking")]
public void TestRowModify ()
{
Control c = new Control ();
@@ -439,8 +766,9 @@
binding = c.DataBindings.Add ("Text",
dataSet1.Tables[0], column_name);
HookupCurrencyManager (cm);
+#if WITH_BINDINGS
HookupBinding (binding);
-
+#endif
cm.Position = 0;
Assert.AreEqual (1, cm.Count, "1");
@@ -455,11 +783,21 @@
Console.WriteLine (event_log);
+ Assert.AreEqual (
#if NET_2_0
- Assert.AreEqual ("0: CurrentItemChanged\n1: ItemChanged
(index = 0)\n2: Binding.Format\n", event_log, "2");
+#if WITH_BINDINGS
+ "0: CurrentItemChanged\n1: ItemChanged
(index = 0)\n2: Binding.Format\n"
#else
- Assert.AreEqual ("0: ItemChanged (index = 0)\n1:
Binding.Format\n", event_log, "2");
+ "0: CurrentItemChanged\n1: ItemChanged
(index = 0)\n"
#endif
+#else
+#if WITH_BINDINGS
+ "0: ItemChanged (index = 0)\n1:
Binding.Format\n"
+#else
+ "0: ItemChanged (index = 0)\n"
+#endif
+#endif
+ , event_log, "2");
Assert.AreEqual (1, cm.Count, "3");
}
@@ -507,15 +845,124 @@
Assert.AreEqual (1, cm.Count, "3");
}
+
+
+ [Test]
+ public void TestDeleteInEdit ()
+ {
+ Control c = new Control ();
+ c.CreateControl ();
+ Binding binding;
+ BindingContext bc = new BindingContext ();
+ CurrencyManager cm;
+
+ DataSet dataSet1 = new DataSet();
+ dataSet1.Tables.Add();
+ dataSet1.Tables[0].Columns.Add();
+
+ DataRow newrow = dataSet1.Tables[0].NewRow ();
+ dataSet1.Tables[0].Rows.Add(newrow);
+
+ cm = (CurrencyManager) bc[dataSet1,
dataSet1.Tables[0].TableName];
+ binding = c.DataBindings.Add ("Text",
dataSet1.Tables[0], dataSet1.Tables[0].Columns[0].ColumnName);
+
+ Assert.AreEqual (1, cm.Count, "1");
+
+ HookupCurrencyManager (cm);
+#if WITH_BINDINGS
+ HookupBinding (binding);
+#endif
+
+ cm.Position = 0;
+
+ event_log = "";
+ event_num = 0;
+
+ DataRowView row = (DataRowView)cm.Current;
+ row.Delete ();
+
+ Console.WriteLine (event_log);
+
+ Assert.AreEqual (
+#if NET_2_0
+ "0: PositionChanged (to -1)\n1: ItemChanged
(index = -1)\n2: PositionChanged (to -1)\n3: CurrentChanged\n4:
CurrentItemChanged\n5: ItemChanged (index = -1)\n"
+#else
+ "0: PositionChanged (to -1)\n1: ItemChanged
(index = -1)\n2: ItemChanged (index = -1)\n"
+#endif
+ , event_log, "1");
+
+ Assert.AreEqual (0, cm.Count, "2");
+ }
+
+ [Test]
+ public void Bug81022 ()
+ {
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails at the moment");
+ }
+
+ BindingContext bc = new BindingContext ();
+ CurrencyManager cm;
+
+ DataView dv = new DataView();
+ DataTable dt = new DataTable("Testdata");
+
+ cm = (CurrencyManager)bc [dt];
+
+ HookupCurrencyManager (cm);
+
+ event_log = ""; event_num = 0;
+
+ dv.Table = dt;
+
+ Assert.AreEqual ("", event_log, "1");
+
+ Console.WriteLine (">1");
+ dt.Columns.Add("A");
+ Console.WriteLine ("<1");
+
+ Assert.AreEqual ("0: MetaDataChanged\n", event_log,
"1");
+
+ event_log = ""; event_num = 0;
+ Console.WriteLine (">2");
+ dt.Columns.Add("B");
+ Console.WriteLine ("<2");
+
+ Assert.AreEqual ("0: MetaDataChanged\n", event_log,
"2");
+
+ event_log = ""; event_num = 0;
+ Console.WriteLine (">3");
+ dt.Rows.Add(new object[]{"A1", "B1"});
+ Console.WriteLine ("<3");
+
+#if NET_2_0
+ Assert.AreEqual ("0: PositionChanged (to 0)\n1:
CurrentChanged\n2: CurrentItemChanged\n3: ItemChanged (index = -1)\n4:
ItemChanged (index = -1)\n", event_log, "3");
+#else
+ Assert.AreEqual ("0: PositionChanged (to 0)\n1:
CurrentChanged\n2: ItemChanged (index = -1)\n3: ItemChanged (index = -1)\n",
event_log, "3");
+#endif
+
+ event_log = ""; event_num = 0;
+ Console.WriteLine (">4");
+ dt.Rows.Add(new object[]{"A2", "B2"});
+ Console.WriteLine ("<4");
+
+ Assert.AreEqual ("0: ItemChanged (index = -1)\n",
event_log, "4");
+
+ Assert.AreEqual (2, cm.Count, "5");
+ }
+
}
[TestFixture]
public class PropertyManagerTest2 : DataBindingTest
{
[Test]
- [Category ("NotWorking")]
public void TestPropertyChange ()
{
+ if (TestHelper.RunningOnUnix) {
+ Assert.Ignore ("Fails at the moment");
+ }
+
Control c1 = new Control ();
Control c2 = new Control ();
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches