| Current File : /home/jvzmxxx/wiki1/vendor/data-values/data-values/tests/phpunit/UnDeserializableValueTest.php |
<?php
namespace DataValues\Tests;
use DataValues\DataValue;
use DataValues\UnDeserializableValue;
use DataValues\UnknownValue;
/**
* @covers DataValues\UnDeserializableValue
*
* @group DataValue
* @group DataValueExtensions
*
* @licence GNU GPL v2+
* @author Daniel Kinzler
*/
class UnDeserializableValueTest extends DataValueTest {
/**
* @see DataValueTest::getClass
*
* @return string
*/
public function getClass() {
return 'DataValues\UnDeserializableValue';
}
public function validConstructorArgumentsProvider() {
$argLists = array();
$argLists[] = array( null, null, 'No type and no data' );
$argLists[] = array( null, 'string', 'A type but no data' );
$argLists[] = array( array( 'stuff' ), 'string', 'A type and bad data' );
return $argLists;
}
public function invalidConstructorArgumentsProvider() {
$argLists = array();
$argLists[] = array( new \stdClass(), null, 'No type and no data' );
$argLists[] = array( null, 42, 'No type and no data' );
$argLists[] = array( null, false, 'No type and no data' );
$argLists[] = array( null, array(), 'No type and no data' );
$argLists[] = array( null, null, null );
$argLists[] = array( null, null, true );
$argLists[] = array( null, null, array() );
return $argLists;
}
/**
* @dataProvider instanceProvider
*
* @param UnDeserializableValue $value
* @param array $arguments
*/
public function testGetValue( UnDeserializableValue $value, array $arguments ) {
$this->assertEquals( $arguments[0], $value->getValue() );
}
/**
* @dataProvider instanceProvider
*
* @param UnDeserializableValue $value
* @param array $arguments
*/
public function testGetArrayValue( UnDeserializableValue $value, array $arguments ) {
$this->assertEquals( $arguments[0], $value->getArrayValue() );
}
/**
* @dataProvider instanceProvider
*
* @param UnDeserializableValue $value
* @param array $arguments
*/
public function testGetTargetType( UnDeserializableValue $value, array $arguments ) {
$this->assertEquals( $arguments[1], $value->getTargetType() );
}
/**
* @dataProvider instanceProvider
* @param DataValue $value
* @param array $arguments
*/
public function testToArray( DataValue $value, array $arguments ) {
$array = $value->toArray();
$this->assertInternalType( 'array', $array );
$this->assertTrue( array_key_exists( 'type', $array ) );
$this->assertTrue( array_key_exists( 'value', $array ) );
$this->assertEquals( $value->getTargetType(), $array['type'] );
$this->assertEquals( $value->getValue(), $array['value'] );
}
/**
* Dummy implementation, there's nothing to test here.
*
* @return array
*/
public static function dummyProvider() {
return array(
array( new UnknownValue( 'dummy' ), array() )
);
}
/**
* @dataProvider dummyProvider
* @param DataValue $value
* @param array $arguments
*/
public function testNewFromArray( DataValue $value, array $arguments ) {
$this->assertFalse( method_exists( $this->getClass(), 'newFromArray' ) );
}
}