/** * @test */ public function shouldHydrateObject() { $object = hydrate('mimic\\Object', array('privateProperty' => 'private', 'protectedProperty' => 'protected', 'publicProperty' => 'public')); $this->assertEquals('private', $object->privateProperty()); $this->assertEquals('protected', $object->protectedProperty()); $this->assertEquals('public', $object->publicProperty()); }
public function testHydrate() { $dest = new stdClass(); $dest->nullify = 'Please'; $source = new PropertyClass(); $source->name = 'Test'; $source->age = 19; $source->nullify = null; hydrate($dest, $source, [null]); $this->assertEquals('Please', $dest->nullify); hydrate($dest, $source, ['nullify'], false); $this->assertEquals('Please', $dest->nullify); hydrate($dest, $source, ['nullify'], true); $this->assertNull($dest->nullify); hydrate($dest, $source, ['name']); $this->assertObjectHasAttribute('name', $dest); $this->assertEquals('Test', $dest->name); $this->assertObjectNotHasAttribute('age', $dest); hydrate($dest, $source, ['age']); $this->assertObjectHasAttribute('age', $dest); $this->assertEquals('19', $dest->age); $this->setExpectedException("Exception"); hydrate(['' => ''], $source, []); }