private static void AssertParsesTo(string expected, string query) { // Verify Parse IExpression expression = ExpressionParser.ParseExpression(query); string actual = expression.ToString(); Assert.Equal(expected, actual); // Verify Expression.ToString() value parses back to itself correctly expression = ExpressionParser.ParseExpression(actual); Assert.Equal(actual, expression.ToString()); }
private static void Run <T>(int expectedCount, string query, IList <T> values, Func <TermExpression, IExpressionEvaluator <T> > converter) { // Parse the Query IExpression expression = ExpressionParser.ParseExpression(query); // Build an Evaluator against the int array IExpressionEvaluator <T> evaluator = expression.ToEvaluator <T>(converter); // Ask for matches from the array BitArray matches = new BitArray(values.Count); evaluator.Evaluate(values, matches); // Verify the match count is correct Assert.Equal(expectedCount, matches.TrueCount()); }
private void AssertThrows(string query) { Assert.Throws <QueryParseException>(() => ExpressionParser.ParseExpression(query)); }