Author: sshafroi
Date: 2008-12-09 09:37:27 +0100 (Tue, 09 Dec 2008)
New Revision: 7066

Added:
   branches/2.18/result-spi/src/test/
   branches/2.18/result-spi/src/test/java/
   branches/2.18/result-spi/src/test/java/no/
   branches/2.18/result-spi/src/test/java/no/sesat/
   branches/2.18/result-spi/src/test/java/no/sesat/search/
   branches/2.18/result-spi/src/test/java/no/sesat/search/result/
   
branches/2.18/result-spi/src/test/java/no/sesat/search/result/StringChopperTest.java
   branches/2.18/result-spi/src/test/resources/
   branches/2.18/result-spi/src/test/resources/testng.xml
Log:
Issue SKER5018:  (Unit tests for String Chopper) 


Added: 
branches/2.18/result-spi/src/test/java/no/sesat/search/result/StringChopperTest.java
===================================================================
--- 
branches/2.18/result-spi/src/test/java/no/sesat/search/result/StringChopperTest.java
                                (rev 0)
+++ 
branches/2.18/result-spi/src/test/java/no/sesat/search/result/StringChopperTest.java
        2008-12-09 08:37:27 UTC (rev 7066)
@@ -0,0 +1,103 @@
+/*
+ * Copyright (2008) Schibsted Søk AS
+ * This file is part of SESAT.
+ *
+ *   SESAT is free software: you can redistribute it and/or modify
+ *   it under the terms of the GNU Affero General Public License as published 
by
+ *   the Free Software Foundation, either version 3 of the License, or
+ *   (at your option) any later version.
+ *
+ *   SESAT is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU Affero General Public License for more details.
+ *
+ *   You should have received a copy of the GNU Affero General Public License
+ *   along with SESAT.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package no.sesat.search.result;
+
+import org.testng.annotations.Test;
+import static org.testng.AssertJUnit.*;
+
+public class StringChopperTest {
+
+    @Test
+    public void SimpleEmpty() {
+        assertEquals(null, StringChopper.chop(null, -1, false));
+        assertEquals("", StringChopper.chop("", -1, false));
+        assertEquals("", StringChopper.chop("", 0, false));
+        assertEquals("", StringChopper.chop("", 1, false));
+        assertEquals("", StringChopper.chop("", 2, false));
+
+        assertEquals(null, StringChopper.chop(null, -1, true));
+        assertEquals("", StringChopper.chop("", -1, true));
+        assertEquals("", StringChopper.chop("", 0, true));
+        assertEquals("", StringChopper.chop("", 1, true));
+        assertEquals("", StringChopper.chop("", 2, true));
+    }
+
+    @Test
+    public void Simple() {
+        assertEquals("<b>and</b><br/>fisk", 
StringChopper.chop("<b>and</b><br/>fisk", -1, true));
+        assertEquals("<b>and</b><br/>fisk", 
StringChopper.chop("<b>and</b><br/>fisk", 0, true));
+    }
+
+    @Test
+    public void SimpleChop() {
+        assertEquals("<b>a</b>", StringChopper.chop("<b>and</b><br/>fisk", 1, 
true));
+        assertEquals("<b>an</b>", StringChopper.chop("<b>and</b><br/>fisk", 2, 
true));
+        assertEquals("<b>and</b>", StringChopper.chop("<b>and</b><br/>fisk", 
3, true));
+        assertEquals("<b>and</b><br/>f", 
StringChopper.chop("<b>and</b><br/>fisk", 4, true));
+        assertEquals("<b>and</b><br/>fi", 
StringChopper.chop("<b>and</b><br/>fisk", 5, true));
+        assertEquals("<b>and</b><br/>fis", 
StringChopper.chop("<b>and</b><br/>fisk", 6, true));
+        assertEquals("<b>and</b><br/>fisk", 
StringChopper.chop("<b>and</b><br/>fisk", 7, true));
+        assertEquals("<b>and</b><br/>fisk", 
StringChopper.chop("<b>and</b><br/>fisk", 8, true));
+        assertEquals("<b>and</b><br/>fisk", 
StringChopper.chop("<b>and</b><br/>fisk", 1000, true));
+    }
+
+    @Test
+    public void SimpleChopWholeWord() {
+        assertEquals("<b>a...</b>", StringChopper.chop("<b>and</b><br/>fisk", 
1, false));
+        assertEquals("<b>an...</b>", StringChopper.chop("<b>and</b><br/>fisk", 
2, false));
+        assertEquals("<b>and...</b>", 
StringChopper.chop("<b>and</b><br/>fisk", 3, false));
+        assertEquals("<b>and</b><br/>...", 
StringChopper.chop("<b>and</b><br/>fisk", 4, false));
+        assertEquals("<b>and</b><br/>...", 
StringChopper.chop("<b>and</b><br/>fisk", 5, false));
+        assertEquals("<b>and</b><br/>...", 
StringChopper.chop("<b>and</b><br/>fisk", 6, false));
+        assertEquals("<b>and</b><br/>fisk", 
StringChopper.chop("<b>and</b><br/>fisk", 7, false));
+        assertEquals("<b>and</b><br/>fisk", 
StringChopper.chop("<b>and</b><br/>fisk", 8, false));
+        assertEquals("<b>and</b><br/>fisk", 
StringChopper.chop("<b>and</b><br/>fisk", 9, false));
+    }
+
+    @Test
+    public void Unbalanced() {
+        assertEquals("<b>and</b>", StringChopper.chop("<b>and", -1, true));
+        assertEquals("fisk<b>and</b>", StringChopper.chop("fisk<b>and", -1, 
true));
+    }
+
+    @Test
+    public void CDATA() {
+        assertEquals("<b>and<![CDATA[ <xml>&& fisk]]> <br/>wonk</b>", 
StringChopper.chop("<b>and<![CDATA[ <xml>&& fisk]]> <br/>wonk", -1, true));
+    }
+
+    @Test
+    public void CDATAChop() {
+        assertEquals("<b>and<![CDATA[ <xm]]></b>", 
StringChopper.chop("<b>and<![CDATA[ <xml>&& fisk]]> <br/>wonk", 7, true));
+    }
+
+    @Test
+    public void CDATAChopWholeWord() {
+        assertEquals("<b>and<![CDATA[ <xml>&& ...]]></b>", 
StringChopper.chop("<b>and<![CDATA[ <xml>&& fisk]]> <br/>wonk", 14, false));
+    }
+
+    @Test
+    public void Comments() {
+        assertEquals("<!-- ups--><b>and<![CDATA[ <xml>&& ...]]></b>", 
StringChopper.chop("<!-- ups--><b>and<![CDATA[ <xml>&& fisk]]> <br/>wonk", 14, 
false));
+        assertEquals("<b>and<!-- ups--><![CDATA[ <xm]]></b>", 
StringChopper.chop("<b>and<!-- ups--><![CDATA[ <xml>&& fisk]]><!-- ups--> 
<br/>wonk<!-- ups-->", 7, true));
+        assertEquals("<b>and<!-- ups--><![CDATA[ <xml>&& fisk]]> 
<br/>wonk</b>", StringChopper.chop("<b>and<!-- ups--><![CDATA[ <xml>&& fisk]]> 
<br/>wonk", -1, true));
+        assertEquals("<b>a<!-- ups-->nd</b>", StringChopper.chop("<b>a<!-- 
ups-->nd", -1, true));
+        assertEquals("fi<!-- ups-->s<!-- ups-->k<b>an<!-- ups-->d<!-- 
ups--></b>", StringChopper.chop("fi<!-- ups-->s<!-- ups-->k<b>an<!-- 
ups-->d<!-- ups-->", -1, true));
+    }
+}
\ No newline at end of file

Added: branches/2.18/result-spi/src/test/resources/testng.xml
===================================================================
--- branches/2.18/result-spi/src/test/resources/testng.xml                      
        (rev 0)
+++ branches/2.18/result-spi/src/test/resources/testng.xml      2008-12-09 
08:37:27 UTC (rev 7066)
@@ -0,0 +1,10 @@
+<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd"; >
+<suite name="Search Engine Skin Tests" verbose="10" parallel="true">
+    
+    <test name="StringChopper Tests">
+        <classes>
+            <class name="no.sesat.search.result.StringChopperTest" />
+        </classes>
+    </test>
+
+</suite>
\ No newline at end of file

_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits

Reply via email to