01: package org.apache.lucene.analysis;
02:
03: import java.io.StringReader;
04: import java.util.ArrayList;
05: import java.util.List;
06:
07: import junit.framework.TestCase;
08:
09: import org.apache.lucene.analysis.snowball.SnowballAnalyzer;
10:
11: import org.contineo.core.text.analyze.Stopwords;
12:
13: public class SnowballAnalyzerTest extends TestCase {
14:
15: private SnowballAnalyzer sbesAnal;
16:
17: public SnowballAnalyzerTest() {
18: sbesAnal = new SnowballAnalyzer("Spanish", Stopwords
19: .getStopwords("es"));
20: }
21:
22: /**
23: * A helper method that analizes a string
24: *
25: * @param a the Analyzer to use
26: * @param input an input String to analyze
27: * @throws Exception in case an error occurs
28: */
29: private String[] getAnalysisResult(Analyzer a, String input)
30: throws Exception {
31: TokenStream ts = a
32: .tokenStream("dummy", new StringReader(input));
33: List<String> resultList = new ArrayList<String>();
34: while (true) {
35: Token token = ts.next();
36: if (token == null)
37: break;
38: resultList.add(token.termText());
39: }
40: return resultList.toArray(new String[0]);
41: }
42:
43: /**
44: * @throws Exception
45: */
46: public void testSpanishAnalizers() throws Exception {
47:
48: System.out.println("##############################");
49:
50: String testLong = "Nuestra misión: crear una relación de confianza entre propietarios e inquilinos que comparten las mismas ganas de tener el éxito en sus alquileres.";
51: System.out.println(testLong);
52:
53: String[] result2 = getAnalysisResult(sbesAnal, testLong);
54: for (String token : result2) {
55: System.out.println(token);
56: }
57:
58: assertTrue(result2.length > 0);
59: }
60:
61: /**
62: * @throws Exception
63: */
64: public void testSpanishAnalizers2() throws Exception {
65:
66: System.out.println("##############################");
67:
68: String testLong = "La progresión de Internet, el desarrollo de las relaciones en la red que favorece, su capacidad a hacer encontrar sencillamente a personas que comparten \"algo\", hace evolucionar la idea de \"conocerse\" Ayer, \"se concocía\" a personas, por encuentros poco numerosos, en su ámbito y en su ciudad.";
69:
70: System.out.println(testLong);
71:
72: String[] result2 = getAnalysisResult(sbesAnal, testLong);
73: for (String token : result2) {
74: System.out.println(token);
75: }
76:
77: // The 2 Arrays SHOULD BE EQUALS
78: assertTrue(result2.length > 0);
79: }
80: }
|