public void When_PropertyPath_Is_A_Reference_Object_Without_Chain() { XPMemberInfo associationMemberInfo = GetAssociationMemberInfo(); Isolate.WhenCalled(() => XpandReflectionHelper.GetXpMemberInfo(null, "Category")).WithExactArguments().WillReturn(associationMemberInfo); var propertyPathParser = new PropertyPathParser(null, Session.DefaultSession); CriteriaOperator criteriaOperator = propertyPathParser.Parse("Category", "SomeProperty=50"); Assert.AreEqual(new BinaryOperator("Category.SomeProperty", 50).ToString(), criteriaOperator.ToString()); }
public void When_PropertyPath_Is_A_Collection_Without_Chain() { XPMemberInfo collectionMemberInfo = GetCollectionMemberInfo(); Isolate.WhenCalled(() => XpandReflectionHelper.GetXpMemberInfo(null, "Orders")).WithExactArguments().WillReturn(collectionMemberInfo); var parser = new PropertyPathParser(null, Session.DefaultSession); CriteriaOperator criteriaOperator = parser.Parse("Orders", "Amount=50"); Assert.AreEqual("[Orders][[Amount] = 50]", criteriaOperator.ToString()); }
public void When_PropertyPath_Is_A_Reference_Object_With_A_Reference_Object_In_Chain() { XPMemberInfo associationMemberInfo = GetAssociationMemberInfo(); Isolate.WhenCalled(() => XpandReflectionHelper.GetXpMemberInfo(null, "Order")).WillReturn(associationMemberInfo); Isolate.WhenCalled(() => XpandReflectionHelper.GetXpMemberInfo(null, "Order.OrderLine")).WillReturn(associationMemberInfo); var parser = new PropertyPathParser(null, Session.DefaultSession); CriteriaOperator criteriaOperator = parser.Parse("Order.OrderLine", "Amount=50"); Assert.AreEqual(new BinaryOperator("Order.OrderLine.Amount", 50).ToString(), criteriaOperator.ToString()); }
public void When_PropertyPath_Is_A_Reference_Object_With_A_Collection_In_Chain() { XPMemberInfo collectionMemberInfo = GetCollectionMemberInfo(); XPMemberInfo associationMemberInfo = GetAssociationMemberInfo(); Isolate.WhenCalled(() => XpandReflectionHelper.GetXpMemberInfo(null,"Order")).WithExactArguments().WillReturn(associationMemberInfo); Isolate.WhenCalled(() => XpandReflectionHelper.GetXpMemberInfo(null,"Order.OrderLines")).WithExactArguments().WillReturn(collectionMemberInfo); var parser = new PropertyPathParser(null); CriteriaOperator criteriaOperator= parser.Parse("Order.OrderLines", "Ammount=50"); Assert.AreEqual(new ContainsOperator("Order.OrderLines",new BinaryOperator("Ammount",50)).ToString(), criteriaOperator.ToString()); }
public void When_Parameter_Is_A_Chain() { XPMemberInfo collectionMemberInfo = GetCollectionMemberInfo(); Isolate.WhenCalled(() => XpandReflectionHelper.GetXpMemberInfo(null, "Customers")).WithExactArguments().WillReturn(collectionMemberInfo); var parser = new PropertyPathParser(null, Session.DefaultSession); CriteriaOperator criteriaOperator = parser.Parse("Customers", "Order.OrderLine.Ammount=50"); Assert.AreEqual(new ContainsOperator("Customers", new BinaryOperator("Order.OrderLine.Ammount", 50)).ToString(), criteriaOperator.ToString()); }