public void ExpressionExtensions_Evaluate_Lambda_Cached() { var cache = new AssertionCache(); Expression <Func <int> > f = () => 42; var result = f.Evaluate <int>(cache); Assert.AreEqual(42, result); Assert.AreEqual(1, cache.GetOrAddCount); }
public void ExpressionExtensions_Evaluate_NonLambda_Typed_Cached() { var cache = new AssertionCache(); var e = Expression.Add(Expression.Constant(41), Expression.Constant(1)); var result = e.Evaluate <int>(cache); Assert.AreEqual(42, result); Assert.AreEqual(1, cache.GetOrAddCount); }