Imported Upstream version 4.2.1.91

Former-commit-id: b6ad0994c58eaf044e2599fe2ff7996e073c87d2
This commit is contained in:
Xamarin Public Jenkins
2015-10-30 12:42:46 -04:00
committed by Jo Shields
parent bdd40f83c0
commit bac3554225
48 changed files with 211 additions and 83 deletions

View File

@ -243,6 +243,17 @@ namespace MonoTests.System.Linq.Expressions {
return 42;
}
[Test]
public void CallMethodOnDateTime ()
{
var left = Expression.Call (Expression.Constant (DateTime.Now), typeof(DateTime).GetMethod ("AddDays"), Expression.Constant (-5.0));
var right = Expression.Constant (DateTime.Today);
var expr = Expression.GreaterThan (left, right);
var eq = Expression.Lambda<Func<bool>> (expr).Compile ();
Assert.IsFalse (eq ());
}
[Test]
[Category ("NotDotNet")] // http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=339351
[ExpectedException (typeof (ArgumentException))]
@ -398,7 +409,6 @@ namespace MonoTests.System.Linq.Expressions {
}
[Test]
[Category ("NotWorkingInterpreter")]
public void Connect282702 ()
{
var lambda = Expression.Lambda<Func<Func<int>>> (

View File

@ -93,6 +93,18 @@ namespace MonoTests.System.Linq.Expressions
Assert.IsFalse (eq ());
}
[Test]
public void StringWithNull ()
{
BinaryExpression expr = Expression.Equal (Expression.Constant ("a"), Expression.Constant (null));
Assert.AreEqual (ExpressionType.Equal, expr.NodeType);
Assert.AreEqual (typeof (bool), expr.Type);
Assert.IsNull (expr.Method);
var eq = Expression.Lambda<Func<bool>> (expr).Compile ();
Assert.IsFalse (eq ());
}
[Test]
public void Nullable_LiftToNull_SetToFalse ()
{

View File

@ -79,6 +79,30 @@ namespace MonoTests.System.Linq.Expressions
Assert.AreEqual ("(1 != 2)", expr.ToString ());
}
[Test]
public void PrimitiveNonNumeric ()
{
BinaryExpression expr = Expression.NotEqual (Expression.Constant ('a'), Expression.Constant ('b'));
Assert.AreEqual (ExpressionType.NotEqual, expr.NodeType);
Assert.AreEqual (typeof (bool), expr.Type);
Assert.IsNull (expr.Method);
var eq = Expression.Lambda<Func<bool>> (expr).Compile ();
Assert.IsTrue (eq ());
}
[Test]
public void StringWithNull ()
{
BinaryExpression expr = Expression.NotEqual (Expression.Constant ("a"), Expression.Constant (null));
Assert.AreEqual (ExpressionType.NotEqual, expr.NodeType);
Assert.AreEqual (typeof (bool), expr.Type);
Assert.IsNull (expr.Method);
var eq = Expression.Lambda<Func<bool>> (expr).Compile ();
Assert.IsTrue (eq ());
}
[Test]
public void Nullable_LiftToNull_SetToFalse ()
{