Example #1
0
 /**
  * @param array $values
  *
  * @return object
  */
 protected function hydrate(array $values)
 {
     $model = $this->create();
     \Makasim\Values\set_values($model, $values);
     return $model;
 }
Example #2
0
 /**
  * @expectedException \LogicException
  * @expectedExceptionMessage Cannot set value to aNamespace.aKey it is already set and not array
  */
 public function testThrowsIfAddValueToExistOneWhichNotArray()
 {
     $values = ['aNamespace' => ['aKey' => 'aVal']];
     $obj = new ValueTest();
     \Makasim\Values\set_values($obj, $values);
     $obj->addValue('aNamespace', 'aKey', 'aVal');
 }
Example #3
0
 public function testShouldNotReflectChangesIfObjectWasCloned()
 {
     $values = ['aName' => ['aKey' => ['aSubName' => ['aSubKey' => 'aFooVal']]]];
     $obj = new ObjectTest();
     \Makasim\Values\set_values($obj, $values);
     //guard
     $this->assertEmpty(\Makasim\Values\get_changed_values($obj));
     /** @var SubObjectTest $subObj */
     $subObj = $obj->getObject('aName', 'aKey', SubObjectTest::class);
     //guard
     $this->assertInstanceOf(SubObjectTest::class, $subObj);
     $clonedSubObj = \Makasim\Values\clone_object($subObj);
     $clonedSubObj->setSelfValue('aSubKeyFoo', 'aBarVal');
     $this->assertEquals(['aName' => ['aKey' => ['aSubName' => ['aSubKey' => 'aFooVal']]]], \Makasim\Values\get_values($obj));
 }