public void QueryableDictionaryBase_ElementType() { var data = new Dictionary <string, string> { { "foo", "bar" } }; var qd = new TestQueryableDictionary <string, string>(Expression.Parameter(typeof(string)), data, ex => { }); Assert.AreEqual(typeof(KeyValuePair <string, string>), qd.ElementType); }
private void AssertExpression <TKey, TValue, TResult>(IDictionary <TKey, TValue> data, Action <QueryableDictionaryBase <TKey, TValue> > action, Expression <Func <TestQueryableDictionary <TKey, TValue>, TResult> > expected) { var thisParameter = Expression.Parameter(typeof(TestQueryableDictionary <TKey, TValue>), "this"); void assert(Expression expr) { var invoked = BetaReducer.Reduce(Expression.Invoke(expected, thisParameter)); Assert.IsTrue(new ExpressionEqualityComparer().Equals(invoked, expr)); } var queryableDictionary = new TestQueryableDictionary <TKey, TValue>(thisParameter, data, assert); action(queryableDictionary); }
public QueryProvider(TestQueryableDictionary <TKey, TValue> parent) { _parent = parent; _visitor = new Visitor(_parent._expression, Expression.Constant(parent._inner.AsQueryable())); }