diff --git a/src/test/java/de/ids_mannheim/korap/index/TestSampleIndex.java b/src/test/java/de/ids_mannheim/korap/index/TestSampleIndex.java
index 574eadd..e112399 100644
--- a/src/test/java/de/ids_mannheim/korap/index/TestSampleIndex.java
+++ b/src/test/java/de/ids_mannheim/korap/index/TestSampleIndex.java
@@ -181,8 +181,9 @@
                 .getResource("/queries/bugs/cosmas_wildcards_qao.jsonld")
                 .getFile());
         krill = new Krill(json);
-        assertEquals(krill.getCollection().toString(),
-                "QueryWrapperFilter(availability:/QAO.*/)");
+        assertEquals(
+            "QueryWrapperFilter(availability:/QAO.*/)",
+            krill.getCollection().toString());
         kr = krill.apply(sample);
         assertEquals(4, kr.getMatches().size());
 
@@ -249,8 +250,10 @@
 								   true,
 								   true);
 
-		assertEquals(km.getSnippetBrackets(), "... [[meine eigne Erfahrung]] ...");
-		assertEquals(km.getSnippetHTML(), "<span class=\"context-left\"><span class=\"more\"></span></span><span class=\"match\"><mark>meine eigne Erfahrung</mark></span><span class=\"context-right\"><span class=\"more\"></span></span>");
+		assertEquals("... [[meine eigne Erfahrung]] ...", km.getSnippetBrackets());
+		assertEquals(
+		    "<span class=\"context-left\"><span class=\"more\"></span></span><span class=\"match\"><mark>meine eigne Erfahrung</mark></span><span class=\"context-right\"><span class=\"more\"></span></span>",
+		    km.getSnippetHTML());
 
 		km = sample.getMatchInfo("match-GOE/AGD/00000-p132566-132569",
 								   "tokens",
@@ -259,8 +262,12 @@
 								   true,
 								   true);
 
-		//assertEquals(km.getSnippetBrackets(), "... [[{malt/d:DET>132567:meine} {#132567:{malt/d:ATTR>132567:eigne}} {malt/d:PN>132564:Erfahrung}]] ...");
-  		assertEquals(km.getSnippetHTML(), "<span class=\"context-left\"><span class=\"more\"></span></span><span class=\"match\"><mark><span xlink:title=\"malt/d:DET\" xlink:show=\"none\" xlink:href=\"#token-GOE/AGD/00000-p132568\">meine</span> <span xlink:title=\"malt/d:ATTR\" xlink:show=\"none\" xlink:href=\"#token-GOE/AGD/00000-p132568\">eigne</span> <span xml:id=\"token-GOE/AGD/00000-p132568\"><span xlink:title=\"malt/d:PN\" xlink:show=\"none\" xlink:href=\"#token-GOE/AGD/00000-p132565\">Erfahrung</span></span></mark></span><span class=\"context-right\"><span class=\"more\"></span></span>");
+		//assertEquals(
+		//    "... [[{malt/d:DET>132567:meine} {#132567:{malt/d:ATTR>132567:eigne}} {malt/d:PN>132564:Erfahrung}]] ...",
+		//    km.getSnippetBrackets());
+  		assertEquals(
+  		    "<span class=\"context-left\"><span class=\"more\"></span></span><span class=\"match\"><mark><span xlink:title=\"malt/d:DET\" xlink:show=\"none\" xlink:href=\"#token-GOE/AGD/00000-p132568\">meine</span> <span xlink:title=\"malt/d:ATTR\" xlink:show=\"none\" xlink:href=\"#token-GOE/AGD/00000-p132568\">eigne</span> <span xml:id=\"token-GOE/AGD/00000-p132568\"><span xlink:title=\"malt/d:PN\" xlink:show=\"none\" xlink:href=\"#token-GOE/AGD/00000-p132565\">Erfahrung</span></span></mark></span><span class=\"context-right\"><span class=\"more\"></span></span>",
+  		    km.getSnippetHTML());
                 
 		km = sample.getMatchInfo("match-GOE/AGD/00000-p132566-132569",
 								 "tokens",
@@ -270,7 +277,7 @@
 								 true,
 								 true);
 
-		// assertEquals(km.getSnippetBrackets().substring(0,20), "[{#132507:{malt/d:SU");
-		assertEquals(km.getSnippetHTML().substring(0,20), "<span class=\"context");
+		// assertEquals("[{#132507:{malt/d:SU", km.getSnippetBrackets().substring(0,20));
+		assertEquals("<span class=\"context", km.getSnippetHTML().substring(0,20));
 	}
 }
