/** @covers YaLinqo\Enumerable::toInfinity */ function testToInfinity() { // toInfinity () $this->assertEnumEquals([0, 1, 2, 3], E::toInfinity(), 4); // toInfinity (start) $this->assertEnumEquals([3, 4, 5, 6], E::toInfinity(3), 4); // toInfinity (start, step) $this->assertEnumEquals([3, 5, 7, 9], E::toInfinity(3, 2), 4); $this->assertEnumEquals([3, 1, -1, -3], E::toInfinity(3, -2), 4); }
/** @covers YaLinqo\Enumerable::toInfinity */ function testToInfinity() { // toInfinity () $this->assertEnumEquals(array(0, 1, 2, 3), E::toInfinity(), 4); // toInfinity (start) $this->assertEnumEquals(array(3, 4, 5, 6), E::toInfinity(3), 4); // toInfinity (start, step) $this->assertEnumEquals(array(3, 5, 7, 9), E::toInfinity(3, 2), 4); $this->assertEnumEquals(array(3, 1, -1, -3), E::toInfinity(3, -2), 4); }
return $k * $k - $v * 2; })->take(20)->toArray()); var_dump(Enumerable::generate(function ($v, $k) { return $v + $k; }, 1, function ($v) { return $v; }, 1)->take(10)->toArray()); var_dump(Enumerable::generate(function ($v) { return array($v[1], $v[0] + $v[1]); }, array(1, 1), function ($v) { return $v[1]; }, 1)->toKeys()->take(10)->toArray()); var_dump(Enumerable::generate(function ($v, $k) { return pow(-1, $k) / (2 * $k + 1); }, 0)->take(1000)->sum() * 4); var_dump(Enumerable::toInfinity()->take(999)->sum(function ($k) { return pow(-1, $k) / (2 * $k + 1); }) * 4); echo "Lambdas\n"; var_dump(from(array(1, 2, 3, 4, 5, 6))->where('$v ==> $v > 3')->select('$v ==> $v*$v')->toArray()); var_dump(from(array(1, 2, 3, 4, 5, 6))->where('($v) ==> $v > 3')->select('$v, $k ==> $v+$k')->toArray()); var_dump(from(array(1, 2, 3, 4, 5, 6))->where('($v) ==> { echo $v; return $v > 3; }')->select('($v, $k) ==> { return $v*2+$k*3; }')->toArray()); var_dump(from(array(1, 2, 3, 4, 5, 6))->where('$v > 2')->where('$v>3')->select('$v+$k')->toArray()); var_dump(Enumerable::split('1 2 3 4 5 6', '# #')->toArray()); var_dump(Enumerable::matches('1 2 3 4 5 6', '#\\d+#')->select('$v[0]')->maxBy(Functions::$compareStrict)); var_dump(from(array(1, 2))->selectMany('$v ==> array(1, 2)', '"$v1 $v2"', '"$k1 $k2"')->toArray()); var_dump(from(array(1, 2))->selectMany('$v ==> array(1, 2)', '"$k1=$v1 $k2=$v2"')->toArray()); var_dump(from(array(1, 2))->selectMany('$v ==> array(1, 2)', 'array($v1, $v2)')->toArray()); var_dump(from(array(1, 2))->selectMany('$v ==> array()', '"$v1 $v2"', '"$k1 $k2"')->toArray()); var_dump(from(array())->selectMany('$v ==> array(1, 2)', '"$v1 $v2"', '"$k1 $k2"')->toArray()); var_dump(from(array('a' => array(1, 2), 'b' => array(3)))->selectMany('$v')->toArray());