public void LessThanFunctionCallSerializeTest() { Expression <Func <SecurityDbContext, int, bool> > criteria = (db, obj) => obj < getSomeValue(); CriteriaSerializer criteriaSerializer = new CriteriaSerializer(); XElement serialized = criteriaSerializer.SerializeAsXElement(criteria); XElement nominal = SerializeTestHelper.CreateBaseCriteriaXElementWithIntObj(); XElement body = new XElement("BinaryExpression", new XAttribute("NodeType", "LessThan"), new XAttribute("CanReduce", "false"), new XAttribute("IsLifted", "false"), new XAttribute("IsLiftedToNull", "false"), SerializeTestHelper.GetTypeElement("System.Boolean"), new XElement("Right", SerializeTestHelper.GetConstantExpression("System.Int32", "5") ), new XElement("Left", SerializeTestHelper.GetParameterExpression("System.Int32", "obj") ), new XElement("Method"), new XElement("Conversion") ); SerializeTestHelper.SetLambdaBody(nominal, body); SerializeTestHelper.CheckIfNominalAndSerializedAreEqual(nominal, serialized); }
public void GreaterThanOrEqualConstantSerializeTest() { Expression <Func <SecurityDbContext, int, bool> > criteria = (db, obj) => obj >= 5; CriteriaSerializer criteriaSerializer = new CriteriaSerializer(); XElement serialized = criteriaSerializer.SerializeAsXElement(criteria); XElement nominal = SerializeTestHelper.CreateBaseCriteriaXElementWithIntObj(); XElement body = SerializeTestHelper.GetIntegerBinaryExpression("GreaterThanOrEqual", "5"); SerializeTestHelper.SetLambdaBody(nominal, body); SerializeTestHelper.CheckIfNominalAndSerializedAreEqual(nominal, serialized); }
public void ReturnFalseSerializeTest() { Expression <Func <SecurityDbContext, int, bool> > criteria = (db, obj) => false; CriteriaSerializer criteriaSerializer = new CriteriaSerializer(); XElement serialized = criteriaSerializer.SerializeAsXElement(criteria); XElement nominal = SerializeTestHelper.CreateBaseCriteriaXElementWithIntObj(); XElement body = SerializeTestHelper.GetConstantExpression("System.Boolean", "False"); SerializeTestHelper.SetLambdaBody(nominal, body); SerializeTestHelper.CheckIfNominalAndSerializedAreEqual(nominal, serialized); }
public void LogicalNotSerializeTest() { Expression <Func <SecurityDbContext, int, bool> > criteria = (db, obj) => !(obj < 5); CriteriaSerializer criteriaSerializer = new CriteriaSerializer(); XElement serialized = criteriaSerializer.SerializeAsXElement(criteria); XElement nominal = SerializeTestHelper.CreateBaseCriteriaXElementWithIntObj(); XElement body = SerializeTestHelper.GetUnaryExpression("Not", "System.Boolean", SerializeTestHelper.GetIntegerBinaryExpression("LessThan", "5")); SerializeTestHelper.SetLambdaBody(nominal, body); SerializeTestHelper.CheckIfNominalAndSerializedAreEqual(nominal, serialized); }
public void SerializeToStringTest() { Expression <Func <SecurityDbContext, int, bool> > criteria = (db, obj) => obj < 5; CriteriaSerializer criteriaSerializer = new CriteriaSerializer(); string serializedString = criteriaSerializer.Serialize(criteria); XElement nominal = SerializeTestHelper.CreateBaseCriteriaXElementWithIntObj(); XElement body = SerializeTestHelper.GetIntegerBinaryExpression("LessThan", "5"); SerializeTestHelper.SetLambdaBody(nominal, body); Assert.AreEqual(nominal.ToString(), serializedString); }
public void GreaterThanConstantDeserializeTest() { Expression <Func <SecurityDbContext, int, bool> > criteria = (db, obj) => obj > 5; XElement nominal = SerializeTestHelper.CreateBaseCriteriaXElementWithIntObj(); XElement body = SerializeTestHelper.GetIntegerBinaryExpression("GreaterThan", "5"); SerializeTestHelper.SetLambdaBody(nominal, body); CriteriaSerializer criteriaSerializer = new CriteriaSerializer(); Expression deserializedCriteria = criteriaSerializer.Deserialize(nominal); SerializeTestHelper.CheckIfExpressionsAreEqual(criteria, deserializedCriteria); }
public void ReturnTrueDeserializeTest() { Expression <Func <SecurityDbContext, int, bool> > criteria = (db, obj) => true; XElement nominal = SerializeTestHelper.CreateBaseCriteriaXElementWithIntObj(); XElement body = SerializeTestHelper.GetConstantExpression("System.Boolean", "True"); SerializeTestHelper.SetLambdaBody(nominal, body); CriteriaSerializer criteriaSerializer = new CriteriaSerializer(); Expression deserializedCriteria = criteriaSerializer.Deserialize(nominal); SerializeTestHelper.CheckIfExpressionsAreEqual(criteria, deserializedCriteria); }
public void LogicalOrSerializeTest() { Expression <Func <SecurityDbContext, int, bool> > criteria = (db, obj) => obj < 5 || obj > 1; CriteriaSerializer criteriaSerializer = new CriteriaSerializer(); XElement serialized = criteriaSerializer.SerializeAsXElement(criteria); XElement nominal = SerializeTestHelper.CreateBaseCriteriaXElementWithIntObj(); XElement left = SerializeTestHelper.GetIntegerBinaryExpression("LessThan", "5"); XElement right = SerializeTestHelper.GetIntegerBinaryExpression("GreaterThan", "1"); XElement body = SerializeTestHelper.GetBinaryExpression("OrElse", right, left); SerializeTestHelper.SetLambdaBody(nominal, body); SerializeTestHelper.CheckIfNominalAndSerializedAreEqual(nominal, serialized); }
public void ConvertToDoubleSerializeTest() { Expression <Func <SecurityDbContext, int, bool> > criteria = (db, obj) => obj / 2.0 < 5.2; CriteriaSerializer criteriaSerializer = new CriteriaSerializer(); XElement serialized = criteriaSerializer.SerializeAsXElement(criteria); XElement nominal = SerializeTestHelper.CreateBaseCriteriaXElementWithIntObj(); XElement left = SerializeTestHelper.GetBinaryExpression("Divide", SerializeTestHelper.GetConstantExpression("System.Double", "2"), SerializeTestHelper.GetParameterConvertUnaryExpression("System.Double", "System.Int32", "obj"), "System.Double"); XElement right = SerializeTestHelper.GetConstantExpression("System.Double", "5.2"); XElement body = SerializeTestHelper.GetBinaryExpression("LessThan", right, left); SerializeTestHelper.SetLambdaBody(nominal, body); SerializeTestHelper.CheckIfNominalAndSerializedAreEqual(nominal, serialized); }
public void ArithmeticXorSerializeTest() { Expression <Func <SecurityDbContext, int, bool> > criteria = (db, obj) => (obj ^ 2) < 5; CriteriaSerializer criteriaSerializer = new CriteriaSerializer(); XElement serialized = criteriaSerializer.SerializeAsXElement(criteria); XElement nominal = SerializeTestHelper.CreateBaseCriteriaXElementWithIntObj(); XElement left = SerializeTestHelper.GetBinaryExpression("ExclusiveOr", SerializeTestHelper.GetConstantExpression("System.Int32", "2"), SerializeTestHelper.GetParameterExpression("System.Int32", "obj"), "System.Int32"); XElement right = SerializeTestHelper.GetConstantExpression("System.Int32", "5"); XElement body = SerializeTestHelper.GetBinaryExpression("LessThan", right, left); SerializeTestHelper.SetLambdaBody(nominal, body); SerializeTestHelper.CheckIfNominalAndSerializedAreEqual(nominal, serialized); }
public void LogicalAndDeserializeTest() { Expression <Func <SecurityDbContext, int, bool> > criteria = (db, obj) => obj < 5 && obj > 1; XElement nominal = SerializeTestHelper.CreateBaseCriteriaXElementWithIntObj(); XElement left = SerializeTestHelper.GetIntegerBinaryExpression("LessThan", "5"); XElement right = SerializeTestHelper.GetIntegerBinaryExpression("GreaterThan", "1"); XElement body = SerializeTestHelper.GetBinaryExpression("AndAlso", right, left); SerializeTestHelper.SetLambdaBody(nominal, body); CriteriaSerializer criteriaSerializer = new CriteriaSerializer(); Expression deserializedCriteria = criteriaSerializer.Deserialize(nominal); SerializeTestHelper.CheckIfExpressionsAreEqual(criteria, deserializedCriteria); }
public void DeserializeFromStringTest() { Expression <Func <SecurityDbContext, int, bool> > criteria = (db, obj) => obj < 5; XElement nominal = SerializeTestHelper.CreateBaseCriteriaXElementWithIntObj(); XElement body = SerializeTestHelper.GetIntegerBinaryExpression("LessThan", "5"); SerializeTestHelper.SetLambdaBody(nominal, body); string nominalString = nominal.ToString(); CriteriaSerializer criteriaSerializer = new CriteriaSerializer(); criteriaSerializer.RegisterAdditionalAssemblies(GetAdditionalAssemblies()); Expression deserializedCriteria = criteriaSerializer.Deserialize(nominalString); SerializeTestHelper.CheckIfExpressionsAreEqual(criteria, deserializedCriteria); }
public void ArithmeticOrDeserializeTest() { Expression <Func <SecurityDbContext, int, bool> > criteria = (db, obj) => (obj | 2) < 5; XElement nominal = SerializeTestHelper.CreateBaseCriteriaXElementWithIntObj(); XElement left = SerializeTestHelper.GetBinaryExpression("Or", SerializeTestHelper.GetConstantExpression("System.Int32", "2"), SerializeTestHelper.GetParameterExpression("System.Int32", "obj"), "System.Int32"); XElement right = SerializeTestHelper.GetConstantExpression("System.Int32", "5"); XElement body = SerializeTestHelper.GetBinaryExpression("LessThan", right, left); SerializeTestHelper.SetLambdaBody(nominal, body); CriteriaSerializer criteriaSerializer = new CriteriaSerializer(); Expression deserializedCriteria = criteriaSerializer.Deserialize(nominal); SerializeTestHelper.CheckIfExpressionsAreEqual(criteria, deserializedCriteria); }
public void MultipleDeserializeTest() { Expression <Func <SecurityDbContext, int, bool> > criteria = (db, obj) => obj < 5; XElement nominal = SerializeTestHelper.CreateBaseCriteriaXElementWithIntObj(); XElement body = SerializeTestHelper.GetIntegerBinaryExpression("LessThan", "5"); SerializeTestHelper.SetLambdaBody(nominal, body); CriteriaSerializer criteriaSerializer = new CriteriaSerializer(); criteriaSerializer.RegisterAdditionalAssemblies(GetAdditionalAssemblies()); Expression deserializedCriteria = criteriaSerializer.Deserialize(nominal); SerializeTestHelper.CheckIfExpressionsAreEqual(criteria, deserializedCriteria); Expression <Func <SecurityDbContext, DbContextObject1, bool> > criteria2 = (db, obj) => obj.ItemCount < 3; string propertyType = "System.Int32"; string objectType = "DevExpress.EntityFramework.SecurityDataStore.Tests.DbContexts.DbContextObject1"; XElement nominal2 = SerializeTestHelper.CreateBaseCriteriaXElement(objectType); XElement body2 = SerializeTestHelper.GetBinaryExpression("LessThan", SerializeTestHelper.GetConstantExpression("System.Int32", "3"), SerializeTestHelper.GetMemberExpression(objectType, "obj", propertyType, "ItemCount")); SerializeTestHelper.SetLambdaBody(nominal2, body2); Expression deserializedCriteria2 = criteriaSerializer.Deserialize(nominal2); SerializeTestHelper.CheckIfExpressionsAreEqual(criteria2, deserializedCriteria2); SerializeTestHelper.CheckIfExpressionsAreEqual(criteria, deserializedCriteria); }