* System_test.dll.sources: Add ListChangedEventArgsTest.cs.
authorJonathan Pryor <jpryor@novell.com>
Thu, 14 May 2009 15:08:47 +0000 (15:08 -0000)
committerJonathan Pryor <jpryor@novell.com>
Thu, 14 May 2009 15:08:47 +0000 (15:08 -0000)
* System.ComponentModel/ListChangedEventArgs.cs: Fix .NET compatibility
  problems (discovered from trying to run the System.Data.Linq
  unit tests).
* Test/System.ComponentModel/ListChangedEventArgsTest.cs: Added; tests
  for ListChangedEventArgs.

svn path=/trunk/mcs/; revision=134138

mcs/class/System/ChangeLog
mcs/class/System/System.ComponentModel/ChangeLog
mcs/class/System/System.ComponentModel/ListChangedEventArgs.cs
mcs/class/System/System_test.dll.sources
mcs/class/System/Test/System.ComponentModel/ChangeLog
mcs/class/System/Test/System.ComponentModel/ListChangedEventArgsTest.cs [new file with mode: 0644]

index 7a9113a291d52763145e7bc1b5ed8538b609774b..6f2f8002c3545be84f830bac9aac4e714569d86a 100644 (file)
@@ -1,3 +1,7 @@
+2009-05-13  Jonathan Pryor <jpryor@novell.com>
+
+       * System_test.dll.sources: Add ListChangedEventArgsTest.cs.
+
 2009-05-13  Jonathan Pryor <jpryor@novell.com>
 
        * Makefile: $(test_lib).config needs to be profile-specific.
index 4ffdfb7e1d5951d98bb3c69ab0ce570fe84977da..8561892c47e765a30d7d9bd29c02066e132a5a79 100644 (file)
@@ -1,3 +1,8 @@
+2009-05-14  Jonathan Pryor  <jpryor@novell.com>
+
+       * ListChangedEventArgs.cs: Fix .NET compatibility problems (discovered
+         from trying to run the System.Data.Linq unit tests).
+
 2009-04-22 Gonzalo Paniagua Javier <gonzalo@novell.com>
 
        * Win32Exception.cs: made W32ErrorMessage internal.
index 5506a44c067cf73f7ed0af92807455c01b4cbae5..61d04a6eba749aae4fa92c12b6c7a8645acf16a8 100644 (file)
@@ -42,9 +42,8 @@ namespace System.ComponentModel {
 
                public ListChangedEventArgs (ListChangedType listChangedType,
                                             int newIndex)
+                       : this (listChangedType, newIndex, -1)
                {
-                       this.changedType = listChangedType;
-                       this.newIndex = newIndex;
                }
        
                public ListChangedEventArgs (ListChangedType listChangedType,
@@ -71,6 +70,7 @@ namespace System.ComponentModel {
                {
                        this.changedType = listChangedType;
                        this.newIndex = newIndex;
+                       this.oldIndex = newIndex;
                        this.propDesc = propDesc;
                }
 #endif
index 513ff4482e1c08a958d22100ae4f0d5b282059dd..a03d1a981351307e4c521fdc191b72aeb5dad356 100644 (file)
@@ -136,6 +136,7 @@ System.ComponentModel/Int32ConverterTests.cs
 System.ComponentModel/Int64ConverterTests.cs
 System.ComponentModel/InvalidEnumArgumentExceptionTest.cs
 System.ComponentModel/LicenseManagerTests.cs
+System.ComponentModel/ListChangedEventArgsTest.cs
 System.ComponentModel/LookupBindingPropertiesAttributeTest.cs
 System.ComponentModel/MaskedTextProviderTest.cs
 System.ComponentModel/NestedContainerTest.cs
index 270664866633139ca7e79e237e8dc716b560ecd4..b1d98cd8ba284a2e5033d8263362053d930701a9 100644 (file)
@@ -1,3 +1,7 @@
+2009-05-14  Jonathan Pryor  <jpryor@novell.com>
+
+       * ListChangedEventArgsTest.cs: Added; tests for ListChangedEventArgs.
+
 2009-02-19  Marek Habersack  <mhabersack@novell.com>
 
        * TypeDescriptorTests.cs: added a test for
diff --git a/mcs/class/System/Test/System.ComponentModel/ListChangedEventArgsTest.cs b/mcs/class/System/Test/System.ComponentModel/ListChangedEventArgsTest.cs
new file mode 100644 (file)
index 0000000..9299128
--- /dev/null
@@ -0,0 +1,58 @@
+//
+// System.ComponentModel.TypeConverter test cases
+//
+// Authors:
+//     Jonathan Pryor <jpryor@novell.com>
+//
+// (c) 2009 Novell, Inc. (http://novell.com)
+//
+
+using System;
+using System.ComponentModel;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.ComponentModel
+{
+       [TestFixture]
+       public class ListChangedEventArgsTests
+       {
+               [Test]
+               public void Ctor_ListChangedType_NewIndex()
+               {
+                       ListChangedEventArgs e = new ListChangedEventArgs (ListChangedType.ItemAdded, 0);
+                       Assert.AreEqual (ListChangedType.ItemAdded, e.ListChangedType);
+                       Assert.AreEqual (0,   e.NewIndex);
+                       Assert.AreEqual (-1,  e.OldIndex);
+               }
+
+               [Test]
+               public void Ctor_ListChangedType_NewIndex_OldIndex()
+               {
+                       ListChangedEventArgs e = new ListChangedEventArgs (ListChangedType.ItemMoved, 1, 2);
+                       Assert.AreEqual (ListChangedType.ItemMoved, e.ListChangedType);
+                       Assert.AreEqual (1,  e.NewIndex);
+                       Assert.AreEqual (2,  e.OldIndex);
+               }
+
+               [Test]
+               public void Ctor_ListChangedType_PropDesc()
+               {
+                       PropertyDescriptor   p = null;
+                       ListChangedEventArgs e = new ListChangedEventArgs (ListChangedType.ItemMoved, p);
+                       Assert.AreEqual (ListChangedType.ItemMoved, e.ListChangedType);
+                       Assert.AreEqual (0,  e.NewIndex);
+                       Assert.AreEqual (0,  e.OldIndex);
+               }
+
+               [Test]
+               public void Ctor_ListChangedType_NewIndex_PropDesc()
+               {
+                       PropertyDescriptor   p = null;
+                       ListChangedEventArgs e = new ListChangedEventArgs (ListChangedType.ItemMoved, 2, p);
+                       Assert.AreEqual (ListChangedType.ItemMoved, e.ListChangedType);
+                       Assert.AreEqual (2,  e.NewIndex);
+                       Assert.AreEqual (2,  e.OldIndex);
+               }
+       }
+}