public void SetOverridesOldValue() { var collection = new QueryFilterExpressionCollection(); var property = CreatePropertyInfo <Child>(); collection.SetExpression <Child>((x, y) => x.GetHashCode() == y.GetHashCode()); var result = collection.GetQueryFilterExpression(property); AssertExpressionEqual <Child>((x, y) => x.GetHashCode() == y.GetHashCode(), result); collection.SetExpression <Child>((x, y) => x != y); result = collection.GetQueryFilterExpression(property); AssertExpressionEqual <Child>((x, y) => x != y, result); }
public void FindsRealTypeFirst() { var collection = new QueryFilterExpressionCollection(); collection.SetExpression <Parent>((x, y) => x != y); collection.SetExpression <Child>((x, y) => x.GetHashCode() == y.GetHashCode()); var childProperty = CreatePropertyInfo <Child>(); var parentProperty = CreatePropertyInfo <Parent>(); var childResult = collection.GetQueryFilterExpression(childProperty); var parentResult = collection.GetQueryFilterExpression(parentProperty); AssertExpressionEqual <Child>((x, y) => x.GetHashCode() == y.GetHashCode(), childResult); AssertExpressionEqual <Parent>((x, y) => x != y, parentResult); }
public void FindsCorrectExpressionWithInheritance() { var collection = new QueryFilterExpressionCollection(); collection.SetExpression <Parent>((x, y) => x != y); var property = CreatePropertyInfo <Child>(); var result = collection.GetQueryFilterExpression(property); AssertExpressionEqual <Child>((x, y) => x != y, result); }
public void WorksWithMethodCalls() { var collection = new QueryFilterExpressionCollection(); collection.SetExpression <Child>((x, y) => x.StringEquals(y.ToString())); var property = CreatePropertyInfo <Child>(); var result = collection.GetQueryFilterExpression(property); AssertExpressionEqual <Child>((x, y) => x.StringEquals(y.ToString()), result); }