public function testRemoveWords()
 {
     Dictionary::deleteWords('apagar1');
     Dictionary::deleteWords(['apagar2', 'apagar3']);
     $this->assertNull(Dictionary::queryWord('apagar1'));
     $this->assertNull(Dictionary::queryWord('apagar2'));
     $this->assertNull(Dictionary::queryWord('apagar3'));
 }
 public function testOneSuggestion()
 {
     $attempt = (new Correction('vtce'))->casePop(false);
     $result = [];
     $this->assertContains('voce', $attempt, 'Attempt failed');
     foreach ($attempt as $word) {
         $consult = Dictionary::queryWord($word);
         if ($consult !== null) {
             $result[] = $consult;
         }
     }
     $this->assertContains(Str::accents('você'), $result, 'Consult failed');
 }
 /**
  * Ação: Consultar palavras no dicionário
  *
  * @return void
  */
 private function queryWords()
 {
     $this->writeLine();
     $this->writeLine('Escreva abaixo as palavras a serem consultadas.');
     $this->writeLine('Utilize o comando "--close" para fechar.');
     $this->writeLine();
     while (true) {
         $line = $this->read();
         if ($line == '--close') {
             break;
         } else {
             $query = Database::queryWord($line);
             $this->writeLine();
             $this->writeLine('- Resultado: ' . ($query !== null ? $query : 'não encontrado'));
         }
     }
     $this->writeLine();
     $this->standBy();
 }
 /**
  * Gera sugestões alterando letras na palavra-chave.
  *
  * @param bool|true $dictionary
  * @return array
  */
 public function casePop($dictionary = true)
 {
     $suggestions = [];
     for ($i = 0; $i < $this->length; $i++) {
         foreach ($this->alphabet as $letter) {
             $word = trim(substr_replace($this->keyword, $letter, $i, 1));
             if ($dictionary === true) {
                 $search = trim(Dictionary::queryWord($word));
                 if (!empty($search)) {
                     $suggestions[] = $search;
                 }
             } elseif (!empty($word)) {
                 $suggestions[] = $word;
             }
         }
     }
     return array_filter($suggestions);
 }