public function testPersistenceDelete() { $a = ['user' => [1 => ['name' => 'John', 'surname' => 'Smith'], 2 => ['name' => 'Sarah', 'surname' => 'Jones']]]; $p = new Persistence_SQL('sqlite::memory:'); $p->connection->expr('drop table if exists user')->execute(); $p->connection->expr('create table user(id integer primary key autoincrement, name varchar(255), surname varchar(255))')->execute(); $m = new Model($p, 'user'); $m->addField('name'); $m->addField('surname'); $ids = []; foreach ($a['user'] as $id => $row) { $ids[] = $p->insert($m, $row); } $this->assertEquals(false, $m->loaded()); $m->delete($ids[0]); $this->assertEquals(false, $m->loaded()); $m->load($ids[1]); $this->assertEquals('Jones', $m['surname']); $m['surname'] = 'Smith'; $m->save(); $m->tryLoad($ids[0]); $this->assertEquals(false, $m->loaded()); $m->load($ids[1]); $this->assertEquals('Smith', $m['surname']); }