Exemple #1
0
 /**
  * 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);
     }
 }