| Current File : /home/jvzmxxx/wiki1/vendor/data-values/interfaces/tests/ValueValidators/ResultTest.php |
<?php
namespace ValueValidators\Test;
use ValueValidators\Error;
use ValueValidators\Result;
/**
* @covers ValueValidators\Result
*
* @group ValueValidators
* @group DataValueExtensions
*
* @license GPL-2.0+
* @author Daniel Kinzler
*/
class ResultTest extends \PHPUnit_Framework_TestCase {
public function testNewSuccess() {
$result = Result::newSuccess();
$this->assertTrue( $result->isValid() );
$this->assertEmpty( $result->getErrors() );
}
public function testNewError() {
$result = Result::newError( array(
Error::newError( 'foo' ),
Error::newError( 'bar' ),
) );
$this->assertFalse( $result->isValid() );
$this->assertCount( 2, $result->getErrors() );
}
public static function provideMerge() {
$errors = array(
Error::newError( 'foo' ),
Error::newError( 'bar' ),
);
return array(
array(
Result::newSuccess(),
Result::newSuccess(),
true,
0,
'success + success'
),
array(
Result::newSuccess(),
Result::newError( $errors ),
false,
2,
'success + error'
),
array(
Result::newSuccess(),
Result::newError( $errors ),
false,
2,
'error + success'
),
array(
Result::newError( $errors ),
Result::newError( $errors ),
false,
4,
'error + error'
),
);
}
/**
* @dataProvider provideMerge
*/
public function testMerge( $a, $b, $expectedValid, $expectedErrorCount, $message ) {
$result = Result::merge( $a, $b );
$this->assertSame( $expectedValid, $result->isValid(), $message );
$this->assertCount( $expectedErrorCount, $result->getErrors(), $message );
}
}