/** * */ public function testSetAndGet_SetValue_ReturnsValue() { $proxyObject = new ProxyObject(); $proxyObject->Name = 'name'; $proxyObject->Parent->Child = 'child'; $proxyObject->Parent = 'Hello world'; $this->assertEquals('name', $proxyObject->Name()); $this->assertEquals('Hello world', $proxyObject->Parent()); $this->assertEquals('child', $proxyObject->Parent->Child()); $this->assertTrue(isset($proxyObject->Parent)); $this->assertFalse(isset($proxyObject->DoesNotExist)); $this->assertNull($proxyObject->SomeValue->SomeOtherValue()); }