@author Daniel Holmes <daniel@danielholmes.org>
Expanded class hierarchy of AbstractComparisonValidatorTestCase
abstract class AbstractComparisonValidatorTestCase extends \PHPUnit_Framework_TestCase {
private $validator;
private $context;
protected function setUp() {
$this->validator = $this
->createValidator();
$this->context = $this
->getMockBuilder('Symfony\\Component\\Validator\\ExecutionContext')
->disableOriginalConstructor()
->getMock();
$this->validator
->initialize($this->context);
}
/**
* @return AbstractComparisonValidator
*/
protected abstract function createValidator();
public function testThrowsConstraintExceptionIfNoValueOrProperty() {
$this
->setExpectedException('Symfony\\Component\\Validator\\Exception\\ConstraintDefinitionException');
$comparison = $this
->createConstraint(array());
$this->validator
->validate('some value', $comparison);
}
/**
* @dataProvider provideValidComparisons
* @param mixed $dirtyValue
* @param mixed $comparisonValue
*/
public function testValidComparisonToValue($dirtyValue, $comparisonValue) {
$this->context
->expects($this
->never())
->method('addViolation');
$constraint = $this
->createConstraint(array(
'value' => $comparisonValue,
));
$this->context
->expects($this
->any())
->method('getPropertyPath')
->will($this
->returnValue('property1'));
$this->validator
->validate($dirtyValue, $constraint);
}
/**
* @return array
*/
public abstract function provideValidComparisons();
/**
* @dataProvider provideInvalidComparisons
* @param mixed $dirtyValue
* @param mixed $comparedValue
* @param mixed $comparedValueString
* @param string $comparedValueType
*/
public function testInvalidComparisonToValue($dirtyValue, $comparedValue, $comparedValueString, $comparedValueType) {
$constraint = $this
->createConstraint(array(
'value' => $comparedValue,
));
$constraint->message = 'Constraint Message';
$this->context
->expects($this
->any())
->method('getPropertyPath')
->will($this
->returnValue('property1'));
$this->context
->expects($this
->once())
->method('addViolation')
->with('Constraint Message', array(
'{{ value }}' => $comparedValueString,
'{{ compared_value }}' => $comparedValueString,
'{{ compared_value_type }}' => $comparedValueType,
));
$this->validator
->validate($dirtyValue, $constraint);
}
/**
* @return array
*/
public abstract function provideInvalidComparisons();
/**
* @param array $options Options for the constraint
* @return Constraint
*/
protected abstract function createConstraint(array $options);
}
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
AbstractComparisonValidatorTestCase:: |
public | function | ||
AbstractComparisonValidatorTestCase:: |
public | function | @dataProvider provideValidComparisons | |
AbstractComparisonValidatorTestCase:: |
public | function | @dataProvider provideInvalidComparisons | |
AbstractComparisonValidatorTestCase:: |
protected | function | ||
AbstractComparisonValidatorTestCase:: |
private | property | ||
AbstractComparisonValidatorTestCase:: |
private | property | ||
AbstractComparisonValidatorTestCase:: |
abstract public | function | 8 | |
AbstractComparisonValidatorTestCase:: |
abstract public | function | 8 | |
AbstractComparisonValidatorTestCase:: |
abstract protected | function | 8 | |
AbstractComparisonValidatorTestCase:: |
abstract protected | function | 8 |