Assert.AreEqual (ExpressionType.AndAlso, expr.NodeType, "AndAlso#01");
Assert.AreEqual (typeof (bool), expr.Type, "AndAlso#02");
Assert.IsNull (expr.Method, "AndAlso#03");
+#if !NET_4_0
Assert.AreEqual ("(True && False)", expr.ToString(), "AndAlso#04");
+#endif
}
[Test]
Assert.AreEqual (typeof (OpClass), expr.Type, "AndAlso#06");
Assert.AreEqual (mi, expr.Method, "AndAlso#07");
Assert.AreEqual ("op_BitwiseAnd", expr.Method.Name, "AndAlso#08");
+#if !NET_4_0
Assert.AreEqual ("(value(MonoTests.System.Linq.Expressions.OpClass) && value(MonoTests.System.Linq.Expressions.OpClass))",
expr.ToString(), "AndAlso#09");
+#endif
}
[Test]
}
[Test]
+#if NET_4_0
+ [ExpectedException (typeof (ArgumentException))]
+#else
[ExpectedException (typeof (ArgumentNullException))]
+#endif
public void ArgInstanceNullForNonStaticMethod ()
{
Expression.Call (null, typeof (object).GetMethod ("ToString"));
var conv = Expression.Convert (p, typeof (ITzap));
Assert.AreEqual (typeof (ITzap), conv.Type);
+#if !NET_4_0
Assert.AreEqual ("Convert(<param>)", conv.ToString ());
-
+#endif
p = Expression.Parameter (typeof (ITzap), null);
conv = Expression.Convert (p, typeof (IFoo));
Assert.AreEqual (ExpressionType.Equal, expr.NodeType);
Assert.AreEqual (typeof (bool), expr.Type);
Assert.IsNull (expr.Method);
+#if !NET_4_0
Assert.AreEqual ("(1 = 2)", expr.ToString ());
+#endif
}
[Test]
Assert.AreEqual (true, expr.IsLifted);
Assert.AreEqual (false, expr.IsLiftedToNull);
Assert.IsNull (expr.Method);
+#if !NET_4_0
Assert.AreEqual ("(1 = 2)", expr.ToString ());
+#endif
}
[Test]
Assert.AreEqual (true, expr.IsLifted);
Assert.AreEqual (true, expr.IsLiftedToNull);
Assert.IsNull (expr.Method);
+#if !NET_4_0
Assert.AreEqual ("(1 = 2)", expr.ToString ());
+#endif
}
[Test]
Assert.AreEqual (typeof (bool), expr.Type);
Assert.AreEqual (mi, expr.Method);
Assert.AreEqual ("op_Equality", expr.Method.Name);
-
+#if !NET_4_0
Assert.AreEqual ("(value(MonoTests.System.Linq.Expressions.OpClass) = value(MonoTests.System.Linq.Expressions.OpClass))", expr.ToString ());
+#endif
}
[Test]
Assert.AreEqual (ExpressionType.OrElse, expr.NodeType, "OrElse#01");
Assert.AreEqual (typeof (bool), expr.Type, "OrElse#02");
Assert.IsNull (expr.Method, "OrElse#03");
+#if !NET_4_0
Assert.AreEqual ("(True || False)", expr.ToString(), "OrElse#04");
+#endif
}
[Test]
Assert.AreEqual (typeof (OpClass), expr.Type, "OrElse#06");
Assert.AreEqual (mi, expr.Method, "OrElse#07");
Assert.AreEqual ("op_BitwiseOr", expr.Method.Name, "OrElse#08");
+#if !NET_4_0
Assert.AreEqual ("(value(MonoTests.System.Linq.Expressions.OpClass) || value(MonoTests.System.Linq.Expressions.OpClass))",
expr.ToString(), "OrElse#09");
+#endif
}
public class BrokenMethod {