diff --git a/src/test/java/TokenizerCoverTest.java b/src/test/java/TokenizerCoverTest.java
index 2d717de..b635ee5 100644
--- a/src/test/java/TokenizerCoverTest.java
+++ b/src/test/java/TokenizerCoverTest.java
@@ -5,7 +5,6 @@
 import java.io.*;
 import java.net.URLDecoder;
 import org.junit.Test;
-import org.junit.Ignore;
 import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
 
@@ -43,14 +42,14 @@
             String str;
             while ((str = in.readLine()) != null) {
                 content.append(str + "\n");
-            };
+            }
             in.close();
         }
         catch (IOException e) {
             fail(e.getMessage());
         }
         return content.toString();
-    };
+    }
 
 
     /**
@@ -149,12 +148,12 @@
             
             // Calculate the edit distance of both arrays
             distance += levenshteinForStringArrays(goldTokens, testTokens);
-        };
+        }
 
         // Return the sum of all distances
         return distance;
-    };
-    
+    }
+
 
     @Test
     public void testTokenizerCoverEmpiristCmc () {
