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']);
}