public function validate($value)
{
$validators = $this->getValidators();
if ($validators->count() > 0) {
$result = null;
foreach ($validators as $validator) {
if ($result === null) {
$result = $validator->validate($value);
} else {
$result->merge($validator->validate($value));
}
}
} else {
$result = new ErrorResult();
}
return $result;
}
/** * @test */ public function validatorConjunctionReturnsErrorsIfOneValidatorReturnsErrors() { $validatorConjunction = new ConjunctionValidator([]); $validatorObject = $this->createMock(ValidatorInterface::class); $errors = new Error\Result(); $errors->addError(new Error\Error('Error', 123)); $validatorObject->expects($this->any())->method('validate')->will($this->returnValue($errors)); $validatorConjunction->addValidator($validatorObject); $this->assertTrue($validatorConjunction->validate('some subject')->hasErrors()); }