public function provideRunner()
{
return [[[1], [1], [], function ($test, $suite) {
$test->assertEquals(1, $suite->getSummary()->getNbIterations());
}], [[1], [3], [], function ($test, $suite) {
$test->assertEquals(1, $iterations = $suite->getIterations());
$iteration = reset($iterations);
$test->assertEquals(3, $iteration->getVariant()->getRevolutions());
}], [[4], [3], [], function ($test, $suite) {
$test->assertEquals(4, $iterations = $suite->getIterations());
$iteration = reset($iterations);
$test->assertEquals(3, $iteration->getVariant()->getRevolutions());
}], [[1], [1], ['one' => 'two', 'three' => 'four'], function ($test, $suite) {
$test->assertEquals(1, $iterations = $suite->getIterations());
$iteration = reset($iterations);
$parameters = $iteration->getVariant()->getParameterSet();
$test->assertEquals('two', $parameters['one']);
$test->assertEquals('four', $parameters['four']);
}], [[1], [1], ['one', 'two'], function ($test, $suite) {
$test->assertEquals(1, $iterations = $suite->getIterations());
$iteration = reset($iterations);
$parameters = $iteration->getVariant()->getParameterSet();
$test->assertEquals('one', $parameters[0]);
$test->assertEquals('two', $parameters[1]);
}], [[1], [1], ['one' => ['three' => 'four']], function ($test, $suite) {
$test->assertEquals(1, $iterations = $suite->getIterations());
$iteration = reset($iterations);
$parameters = $iteration->getVariant()->getParameterSet();
$test->assertEquals(['three', 'four'], $parameters[0]);
}]];
}