/** * @dataProvider someStrings */ public function testAggregateValuesString(\Pinq\ITraversable $traversable, array $data) { $this->assertEquals(true, $traversable->all(), 'All'); $this->assertEquals(true, $traversable->any(), 'Any'); $this->assertEquals(array_sum(array_map('strlen', $data)) / count($data), $traversable->average('strlen'), 'Average string length'); $this->assertEquals(array_sum(array_map('strlen', $data)), $traversable->sum('strlen'), 'Sum string length'); $this->assertEquals(array_unique($data), $traversable->unique()->asArray(), 'Unique'); $this->assertEquals(implode('- -- -', $data), $traversable->implode('- -- -'), 'String implode'); }
/** * @dataProvider oneToTenTwice */ public function testThatAverageOperatesCorrectly(\Pinq\ITraversable $traversable, array $data) { $this->assertSame(empty($data) ? null : array_sum($data) / count($data), $traversable->average()); }
/** * @dataProvider oneToAHundred */ public function testSimpleAggregation(\Pinq\ITraversable $traversable, array $data) { $this->assertSame(array_sum($data), $traversable->sum()); $this->assertSame(array_sum($data) / count($data), $traversable->average()); }
public function visitAverage(Requests\Average $request) { return $this->traversable->average($this->getOptionalFunction($request)); }