public function buildBaseValidatorConjunctionAddsCustomValidatorToTheReturnedConjunction()
{
$modelClassName = 'Page' . md5(uniqid(mt_rand(), true));
$validatorClassName = 'Domain\\Validator\\Content\\' . $modelClassName . 'Validator';
eval('namespace Domain\\Model\\Content; class ' . $modelClassName . '{}');
$modelClassName = 'Domain\\Model\\Content\\' . $modelClassName;
$mockReflectionService = $this->createMock(ReflectionService::class);
$mockReflectionService->expects($this->any())->method('getClassPropertyNames')->will($this->returnValue([]));
$mockObjectManager = $this->createMock(ObjectManagerInterface::class);
$mockObjectManager->expects($this->any())->method('get')->with(ReflectionService::class)->will($this->returnValue($mockReflectionService));
$validatorResolver = $this->getAccessibleMock(ValidatorResolver::class, ['resolveValidatorObjectName', 'createValidator']);
$validatorResolver->_set('reflectionService', $mockReflectionService);
$validatorResolver->_set('objectManager', $mockObjectManager);
$validatorResolver->expects($this->once())->method('createValidator')->with($validatorClassName)->will($this->returnValue(new EmailAddressValidator()));
$mockReflectionService->expects($this->any())->method('getAllImplementationClassNamesForInterface')->with(PolyTypeObjectValidatorInterface::class)->will($this->returnValue([]));
$validatorResolver->_call('buildBaseValidatorConjunction', $modelClassName, $modelClassName, ['Default']);
$builtValidators = $validatorResolver->_get('baseValidatorConjunctions');
$this->assertFalse($builtValidators[$modelClassName]->validate('[email protected]')->hasErrors());
$this->assertTrue($builtValidators[$modelClassName]->validate('foo')->hasErrors());
}