public function testUniqueValueGenerationInAFunctionCall()
{
$data = [DummyWithRequiredParameterInConstructor::class => ['dummy{1..10}' => ['__construct' => ['0 (unique)' => '<numberBetween(1, 10)>']]]];
$result = $this->loader->loadData($data);
$this->assertEquals(0, count($result->getParameters()));
$this->assertEquals(10, count($result->getObjects()));
$objects = $result->getObjects();
$value = [];
foreach ($objects as $object) {
$this->assertTrue(1 <= $object->requiredParam);
$this->assertTrue(10 >= $object->requiredParam);
$value[$object->requiredParam] = true;
}
$this->assertCount(10, $value);
try {
$this->loader->loadData([DummyWithRequiredParameterInConstructor::class => ['dummy{1..10}' => ['__construct' => ['0 (unique)' => '<numberBetween(1, 2)>']]]]);
$this->fail('Expected exception to be thrown.');
} catch (UnresolvableValueDuringGenerationException $exception) {
$this->assertInstanceOf(UniqueValueGenerationLimitReachedException::class, $exception->getPrevious());
}
}