/** * @dataProvider arrayArithmeticProvider * * @param $expression string * @param $expectedResult number */ public function test_arrayArithmetic_EvaluateAst_MatchExpected($expression, $expectedResult) { $parser = new Parser(); $evaluator = new AstEvaluator(); $evaluator->setVariableEvaluatorCallback(function ($options) { return array(1, 2, 3); }); $node = $parser->parse($expression); $result = $evaluator->evaluate($node); $this->assertEquals(implode(',', $expectedResult), implode(',', $result), $expression . ' was equal to ' . implode(',', $result)); }