Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }