public function testExtraction()
 {
     $object = new Model();
     $array = Extractor::extract($object);
     $this->assertFalse(array_key_exists('ignored', $array));
     $this->assertTrue(array_key_exists('elemento', $array));
     $this->assertTrue(array_key_exists('notIgnored', $array));
 }
 /**
  * Remove um objeto do banco de dados através de sua chave primária.
  * Caso a sua chave primária não exista, o objeto do banco de dados
  * será excluído tendo como where, toda sua estrutura.
  *
  * @return int
  */
 public function delete()
 {
     if (!empty($this->primaryKey)) {
         return $this->tableGateway->delete([$this->primaryKey => $this->getId()]);
     } else {
         return $this->tableGateway->delete(Extractor::extract($this));
     }
 }