complete tests
authorJb Evain <jbevain@gmail.com>
Thu, 5 Jun 2008 12:54:53 +0000 (12:54 -0000)
committerJb Evain <jbevain@gmail.com>
Thu, 5 Jun 2008 12:54:53 +0000 (12:54 -0000)
svn path=/trunk/mcs/; revision=105017

mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_LeftShift.cs
mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_RightShift.cs

index 33b099dd4f4874bfb93ac17e42790f8961f4435c..b68356b5ba2246e7365cfd6902ea69b7ea724d3f 100644 (file)
@@ -125,6 +125,7 @@ namespace MonoTests.System.Linq.Expressions
                }
 
                [Test]
+               [Category ("NotWorking")]
                public void LeftShiftNullableLongAndInt ()
                {
                        var l = Expression.Parameter (typeof (long?), "l");
@@ -134,6 +135,11 @@ namespace MonoTests.System.Linq.Expressions
                        Assert.IsTrue (node.IsLifted);
                        Assert.IsTrue (node.IsLiftedToNull);
                        Assert.AreEqual (typeof (long?), node.Type);
+
+                       var ls = Expression.Lambda<Func<long?, int, long?>> (node, l, r).Compile ();
+
+                       Assert.AreEqual (null, ls (null, 2));
+                       Assert.AreEqual (2048, ls (1024, 1));
                }
        }
 }
index 0d6c24f42858349bcebeb3205d4cd4fc21aa5586..d2d6f167cd58f18726e8f3d540befafcf1fec43d 100644 (file)
@@ -126,6 +126,7 @@ namespace MonoTests.System.Linq.Expressions
                }
 
                [Test]
+               [Category ("NotWorking")]
                public void RightShiftNullableLongAndInt ()
                {
                        var l = Expression.Parameter (typeof (long?), "l");
@@ -135,6 +136,11 @@ namespace MonoTests.System.Linq.Expressions
                        Assert.IsTrue (node.IsLifted);
                        Assert.IsTrue (node.IsLiftedToNull);
                        Assert.AreEqual (typeof (long?), node.Type);
+
+                       var rs = Expression.Lambda<Func<long?, int, long?>> (node, l, r).Compile ();
+
+                       Assert.AreEqual (null, rs (null, 2));
+                       Assert.AreEqual (512, rs (1024, 1));
                }
        }
 }