/** * testExpression(). */ public function testExpression() { // predicate $this->assertTrue(Ginq::range(1, 5)->any(array('x' => 'x == 3'))); // selector $this->assertFalse(Ginq::range(1, 5)->any(array('x' => '5 < x'))); $this->assertEquals(array(5, 5, 5), Ginq::range(1, 3)->map(array('' => '5'))->toList()); // join selector $actual = Ginq::range(1, 3)->selectMany(array('x' => '[x*10, x*100]'), array('x, y' => '[x, y]'))->toListRec(); $expected = array(array(1, 10), array(1, 100), array(2, 20), array(2, 200), array(3, 30), array(3, 300)); $this->assertEquals($expected, $actual); // syntax error try { Ginq::range(1, 3)->map(array('' => 'bro[ken/')); $this->fail(); } catch (SyntaxError $e) { $this->assertTrue(true); } }