2009-04-03 Jb Evain <jbevain@novell.com>
authorJb Evain <jbevain@gmail.com>
Fri, 3 Apr 2009 10:58:05 +0000 (10:58 -0000)
committerJb Evain <jbevain@gmail.com>
Fri, 3 Apr 2009 10:58:05 +0000 (10:58 -0000)
* EnumerableTest.cs: test for bug 491841.

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

mcs/class/System.Core/Test/System.Linq/ChangeLog
mcs/class/System.Core/Test/System.Linq/EnumerableTest.cs

index fd8f3b22fc1675e7a7cb3fd8b930883061ebdbe0..b56fdc8a7a652008d9e81c25cb73a4072bfdc494 100644 (file)
@@ -1,3 +1,7 @@
+2009-04-03  Jb Evain  <jbevain@novell.com>
+
+       * EnumerableTest.cs: test for bug 491841.
+
 2009-03-28  Jb Evain  <jbevain@novell.com>
 
        * EnumerableTest.cs: add test for bug #490016.
index aa6cd1afb0395962b93e3c44a71b2002d25d922c..26849ca1237f584811586e9dadf30e7d92f597fc 100644 (file)
@@ -86,6 +86,38 @@ namespace MonoTests.System.Linq {
                        AssertAreSame (result, foos.Cast<Bar> ());
                }
 
+               class Bingo : IEnumerable<int>, IEnumerable<string> {
+
+                       IEnumerator<int> IEnumerable<int>.GetEnumerator ()
+                       {
+                               yield return 42;
+                               yield return 12;
+                       }
+
+                       IEnumerator<string> IEnumerable<string>.GetEnumerator ()
+                       {
+                               yield return "foo";
+                               yield return "bar";
+                       }
+
+                       public IEnumerator GetEnumerator ()
+                       {
+                               return (this as IEnumerable<int>).GetEnumerator ();
+                       }
+               }
+
+               [Test]
+               public void TestCastToImplementedType ()
+               {
+                       var ints = new int [] { 42, 12 };
+                       var strs = new string [] { "foo", "bar" };
+
+                       var bingo = new Bingo ();
+
+                       AssertAreSame (ints, bingo.Cast<int> ());
+                       AssertAreSame (strs, bingo.Cast<string> ());
+               }
+
                [Test]
                public void TestLast ()
                {