public void LiftedArithmeticPlusSerializeTest() { Expression <Func <SecurityDbContext, int?, bool> > criteria = (db, obj) => obj + 1 < 5; CriteriaSerializer criteriaSerializer = new CriteriaSerializer(); XElement serialized = criteriaSerializer.SerializeAsXElement(criteria); string objectType = "System.Nullable`1|System.Int32"; XElement nominal = SerializeTestHelper.CreateBaseCriteriaXElement(objectType); XElement left = SerializeTestHelper.GetBinaryExpression("Add", SerializeTestHelper.SetLifted(SerializeTestHelper.GetConstantConvertUnaryExpression(objectType, "System.Int32", "1"), true, true), SerializeTestHelper.GetParameterExpression(objectType, "obj"), objectType); XElement right = SerializeTestHelper.GetConstantConvertUnaryExpression(objectType, "System.Int32", "5"); SerializeTestHelper.SetLifted(left, true, true); SerializeTestHelper.SetLifted(right, true, true); XElement body = SerializeTestHelper.GetBinaryExpression("LessThan", right, left); SerializeTestHelper.SetLifted(body, true, false); SerializeTestHelper.SetLambdaBody(nominal, body); SerializeTestHelper.CheckIfNominalAndSerializedAreEqual(nominal, serialized); }