diff options
author | Senganal T <senga@mono-cvs.ximian.com> | 2006-01-10 16:24:28 +0300 |
---|---|---|
committer | Senganal T <senga@mono-cvs.ximian.com> | 2006-01-10 16:24:28 +0300 |
commit | e6ca6781e13596284dfb54c0f56cc2e8b5bf375c (patch) | |
tree | 21cc872c1be5d260181198fb9f322e529c4be717 /mcs/class/System.Data/Test | |
parent | 852bcf82136bdc1f0f35581b736c6e436651e9af (diff) |
2006-01-10 Senganal T <tsenganal@novell.com>
* Test/System.Data/DataViewTest2.cs
- Added testcase for bug #77188
* System.Data/DataRowCollection.cs
- Added ListChangedEvent to signal reset of the collection.
* System.Data/DataView.cs
- Subscribes to the ListChangedEvent of DataRowCollection
Fixes bug #77188
svn path=/branches/mono-1-1-13/mcs/; revision=55294
Diffstat (limited to 'mcs/class/System.Data/Test')
-rw-r--r-- | mcs/class/System.Data/Test/System.Data/ChangeLog | 4 | ||||
-rw-r--r-- | mcs/class/System.Data/Test/System.Data/DataViewTest2.cs | 36 |
2 files changed, 40 insertions, 0 deletions
diff --git a/mcs/class/System.Data/Test/System.Data/ChangeLog b/mcs/class/System.Data/Test/System.Data/ChangeLog index 8d5d4cae709..b65bf9be50a 100644 --- a/mcs/class/System.Data/Test/System.Data/ChangeLog +++ b/mcs/class/System.Data/Test/System.Data/ChangeLog @@ -1,3 +1,7 @@ +2006-01-10 Senganal T <tsenganal@novell.com> + * DataViewTest2.cs + - Added testcase for bug #77188 + 2006-01-06 Senganal T <tsenganal@novell.com> * DataColumnTest.cs * DataColumnCollectionTest.cs diff --git a/mcs/class/System.Data/Test/System.Data/DataViewTest2.cs b/mcs/class/System.Data/Test/System.Data/DataViewTest2.cs index ac568329cb2..3064ec33c73 100644 --- a/mcs/class/System.Data/Test/System.Data/DataViewTest2.cs +++ b/mcs/class/System.Data/Test/System.Data/DataViewTest2.cs @@ -1066,5 +1066,41 @@ namespace MonoTests_System.Data dv = ds.DefaultViewManager.CreateDataView(dt);
Assert.AreEqual(ds.DefaultViewManager,dv.DataViewManager , "DV116");
} + + [Test] + public void DataView_ListChangedEventTest () + { + // Test DataView generates events, when datatable is directly modified + + DataTable table = new DataTable ("test"); + table.Columns.Add ("col1", typeof(int)); + + DataView view = new DataView (table); + + view.ListChanged += new ListChangedEventHandler (dv_ListChanged); + + evProp = null; + table.Rows.Add (new object[] {1}); + Assert.AreEqual (0, evProp.NewIndex, "#1"); + Assert.AreEqual (-1, evProp.OldIndex, "#2"); + Assert.AreEqual (ListChangedType.ItemAdded, evProp.lstType, "#3"); + + evProp = null; + table.Rows[0][0] = 5; + Assert.AreEqual (0, evProp.NewIndex, "#4"); + Assert.AreEqual (-1, evProp.OldIndex, "#5"); + Assert.AreEqual (ListChangedType.ItemChanged, evProp.lstType, "#6"); + + evProp = null; + table.Rows.RemoveAt (0); + Assert.AreEqual (0, evProp.NewIndex, "#7"); + Assert.AreEqual (-1, evProp.OldIndex, "#8"); + Assert.AreEqual (ListChangedType.ItemDeleted, evProp.lstType, "#9"); + + table.Rows.Clear(); + Assert.AreEqual (-1, evProp.NewIndex, "#10"); + Assert.AreEqual (-1, evProp.OldIndex, "#11"); + Assert.AreEqual (ListChangedType.Reset, evProp.lstType, "#12"); + } } } |