public function testUpdateHelper() { $date = new DateTime(); // simple entity $entity = new SampleEntity(); $entity->setName('Hoge'); $entity->date = $date->format('Y-m-d H:i:s'); list($sql, $parameters) = ORM::updateHelper($entity, array('id')); $this->assertEquals('UPDATE `sample_entity` SET name = :name, date = :date WHERE id = :id', $sql); $this->assertEquals(3, count($parameters)); $this->assertEquals(5, $parameters['id']); $this->assertEquals('Hoge', $parameters['name']); $this->assertEquals($date->format('Y-m-d H:i:s'), $parameters['date']); // implements Entity $entity = new SampleEntity2(); $entity->id = 3; $entity->name = 'Fuga'; $entity->date = $date->format('Y-m-d H:i:s'); list($sql, $parameters) = ORM::updateHelper($entity, array('id')); $this->assertEquals('UPDATE `sample2` SET name = :name, date = :date WHERE id = :id', $sql); $this->assertEquals(3, count($parameters)); $this->assertEquals(3, $parameters['id']); $this->assertEquals('Fuga', $parameters['name']); $this->assertEquals($date->format('Y-m-d H:i:s'), $parameters['date']); }
public function testDiffReturnsArray() { $entity = new SampleEntity(['foo' => 'bar', 'baz' => 1]); $diff = $entity->diff(); $this->assertEquals(0, count($diff)); $entity->baz = 2; $diff = $entity->diff(); $this->assertEquals(['baz' => 2], $diff); $entity->qux = '@'; $diff = $entity->diff(); $this->assertEquals(['baz' => 2, 'qux' => '@'], $diff); }