summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--spellchecker/src/SpellCorrector.java2
-rw-r--r--spellchecker/test/SpellCorrectorTest.java5
2 files changed, 6 insertions, 1 deletions
diff --git a/spellchecker/src/SpellCorrector.java b/spellchecker/src/SpellCorrector.java
index a178a44..92f7479 100644
--- a/spellchecker/src/SpellCorrector.java
+++ b/spellchecker/src/SpellCorrector.java
@@ -41,7 +41,7 @@ public class SpellCorrector {
// tries to add word2 to the list of words. This word2 was generated
// from "word" by changing "error" to "correct".
TriFunction<String, String, String> push = (word2, error, correct) -> {
- if (!cr.inVocabulary(word2)) {
+ if (!cr.inVocabulary(word2) || word.equals(word2)) {
return;
}
diff --git a/spellchecker/test/SpellCorrectorTest.java b/spellchecker/test/SpellCorrectorTest.java
index d658914..a826212 100644
--- a/spellchecker/test/SpellCorrectorTest.java
+++ b/spellchecker/test/SpellCorrectorTest.java
@@ -23,9 +23,14 @@ public class SpellCorrectorTest {
private void checkGetCandidateWords(CorpusReader cr, String word,
Set<String> expResult)
throws IOException {
+ // ignore unchanged word
+ expResult.remove(word);
+
System.out.println("getCandidateWords(" + word + ")");
SpellCorrector instance = new SpellCorrector(cr, cmr);
Set<String> result = instance.getCandidateWords(word).keySet();
+
+ assertFalse("Should not contain word " + word, result.contains(word));
// quick check: are the results of the same size?
assertEquals(expResult.size(), result.size());
// verbose test: are all letters as expected?