1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
namespace Metadata\Tests;
use Metadata\Tests\Fixtures\TestObject;
use Metadata\PropertyMetadata;
class PropertyMetadataTest extends \PHPUnit_Framework_TestCase
{
public function testConstructor()
{
$metadata = new PropertyMetadata('Metadata\Tests\Fixtures\TestObject', 'foo');
$expectedReflector = new \ReflectionProperty('Metadata\Tests\Fixtures\TestObject', 'foo');
$expectedReflector->setAccessible(true);
$this->assertEquals('Metadata\Tests\Fixtures\TestObject', $metadata->class);
$this->assertEquals('foo', $metadata->name);
$this->assertEquals($expectedReflector, $metadata->reflection);
}
public function testSerializeUnserialize()
{
$metadata = new PropertyMetadata('Metadata\Tests\Fixtures\TestObject', 'foo');
$this->assertEquals($metadata, unserialize(serialize($metadata)));
}
public function testSetGetValue()
{
$obj = new TestObject();
$metadata = new PropertyMetadata('Metadata\Tests\Fixtures\TestObject', 'foo');
$this->assertNull($metadata->getValue($obj));
$metadata->setValue($obj, 'foo');
$this->assertEquals('foo', $metadata->getValue($obj));
}
}