/**
  * Tests that resets() after deletes or column changes revert flags
  */
 public function testReset()
 {
     $this->obj->reset();
     $this->obj->delete();
     $columns = $this->obj->listColumns();
     foreach ($columns as $column) {
         $this->obj->getColumn($column)->setValue('NEW VALUE');
         $this->obj->getColumn($column)->delete();
     }
     $this->assertTrue($this->obj->isModified());
     // make sure everything is marked for delete
     $columns = $this->obj->listColumns();
     foreach ($columns as $column) {
         $this->assertTrue($this->obj->getColumn($column)->isModified());
         $this->assertTrue($this->obj->getColumn($column)->isDeleted());
     }
     $this->assertTrue($this->obj->reset());
     $columns = $this->obj->listColumns();
     foreach ($columns as $column) {
         $this->assertFalse($this->obj->getColumn($column)->isDeleted());
         $this->assertFalse($this->obj->getColumn($column)->isModified());
     }
     $this->assertFalse($this->obj->isDeleted());
 }