Commit f494caa402b6717a6ecdb8541c1f81c71d1e43d3

Authored by Michał Lenart
1 parent b530db9b

- uproszczenie testów junitowych

git-svn-id: svn://svn.nlp.ipipan.waw.pl/morfeusz/trunk@253 ff4e3ee1-f430-4e82-ade0-24591c43f1fd
CMakeLists.txt
... ... @@ -183,6 +183,6 @@ if (UNIX)
183 183 endif()
184 184  
185 185 if (UNIX)
186   - add_test(TestJavaWrapper ./testJavaWrapper.sh "${PROJECT_BINARY_DIR}")
  186 + add_test(TestJavaWrapper ./testJavaWrapper.sh "${CMAKE_CURRENT_SOURCE_DIR}" "${PROJECT_BINARY_DIR}")
187 187 add_test(TestPythonWrapper ./testPythonWrapper.sh "${PROJECT_BINARY_DIR}")
188 188 endif ()
... ...
morfeusz/wrappers/java/CMakeLists.txt
... ... @@ -10,8 +10,9 @@ include_directories (${CMAKE_SOURCE_DIR}/morfeusz)
10 10  
11 11 set (SWIG_JAVA_OUTFILE "${CMAKE_CURRENT_BINARY_DIR}/swigJAVA.cpp")
12 12 file (COPY pl DESTINATION .)
13   -file (COPY JMorfeuszTest DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
  13 +
14 14 set (JAVA_SRC_DIR "${CMAKE_CURRENT_BINARY_DIR}/pl/waw/ipipan/morfeusz")
  15 +
15 16 add_custom_command (
16 17 OUTPUT ${SWIG_JAVA_OUTFILE}
17 18 COMMAND swig -java -c++ -package pl.waw.ipipan.morfeusz -o ${SWIG_JAVA_OUTFILE} -outdir ${JAVA_SRC_DIR} ${CMAKE_SOURCE_DIR}/morfeusz/wrappers/morfeusz.i
... ... @@ -19,6 +20,7 @@ add_custom_command (
19 20 )
20 21 add_custom_target(generate-java-wrapper ALL
21 22 DEPENDS ${SWIG_JAVA_OUTFILE})
  23 +
22 24 add_library (libjmorfeusz SHARED ${SWIG_JAVA_OUTFILE})
23 25 add_dependencies (libjmorfeusz generate_java_wrapper)
24 26 set_target_properties (libjmorfeusz PROPERTIES OUTPUT_NAME "jmorfeusz")
... ... @@ -58,17 +60,6 @@ add_jar (jmorfeusz
58 60 ENTRY_POINT pl/waw/ipipan/morfeusz/app/App
59 61 DEPENDS libjmorfeusz generate-java-wrapper)
60 62  
61   -#create_javadoc(jmorfeusz_javadoc
62   -# PACKAGES pl.waw.ipipan.morfeusz
63   -# SOURCEPATH "${CMAKE_CURRENT_BINARY_DIR}"
64   -# CLASSPATH "${CMAKE_JAVA_INCLUDE_PATH}"
65   -# WINDOWTITLE "JMorfeusz - Morfeusz Java binding"
66   -# DOCTITLE "<h1>JMorfeusz</h1>"
67   -# AUTHOR TRUE
68   -# USE TRUE
69   -# VERSION TRUE
70   -# DEPENDS jmorfeusz generate_java_wrapper)
71   -
72 63 add_custom_target(generate-javadoc ALL
73 64 COMMAND javadoc
74 65 -d "${CMAKE_CURRENT_BINARY_DIR}/jmorfeusz_javadoc"
... ...
morfeusz/wrappers/java/JMorfeuszTest.java 0 → 100644
  1 +
  2 +import java.io.File;
  3 +import java.io.IOException;
  4 +import java.util.List;
  5 +import java.util.NoSuchElementException;
  6 +import org.junit.After;
  7 +import org.junit.AfterClass;
  8 +import static org.junit.Assert.*;
  9 +import org.junit.Before;
  10 +import org.junit.BeforeClass;
  11 +import org.junit.Test;
  12 +import pl.waw.ipipan.morfeusz.Morfeusz;
  13 +import pl.waw.ipipan.morfeusz.MorfeuszException;
  14 +import pl.waw.ipipan.morfeusz.MorphInterpretation;
  15 +import pl.waw.ipipan.morfeusz.ResultsIterator;
  16 +
  17 +/**
  18 + *
  19 + * @author mlenart
  20 + */
  21 +public class JMorfeuszTest {
  22 +
  23 + private Morfeusz morfeusz;
  24 +
  25 + public JMorfeuszTest() {
  26 + }
  27 +
  28 + @BeforeClass
  29 + public static void setUpClass() {
  30 + }
  31 +
  32 + @AfterClass
  33 + public static void tearDownClass() {
  34 + }
  35 +
  36 + @Before
  37 + public void setUp() {
  38 + morfeusz = Morfeusz.createInstance();
  39 + }
  40 +
  41 + @After
  42 + public void tearDown() {
  43 + }
  44 +
  45 + @Test
  46 + public void testAnalyzeAsList() {
  47 + List<MorphInterpretation> res = morfeusz.analyseAsList("Aaaa żżżż");
  48 + assertEquals(2, res.size());
  49 + assertEquals("Aaaa", res.get(0).getOrth());
  50 + assertEquals("żżżż", res.get(1).getOrth());
  51 + try {
  52 + res.get(2);
  53 + fail();
  54 + }
  55 + catch (IndexOutOfBoundsException ex) {
  56 +
  57 + }
  58 + }
  59 +
  60 + @Test
  61 + public void testAnalyzeAsIterator() {
  62 + ResultsIterator it = morfeusz.analyseAsIterator("Aaaa żżżż");
  63 + assertTrue(it.hasNext());
  64 + assertEquals("Aaaa", it.next().getOrth());
  65 + assertTrue(it.hasNext());
  66 + assertEquals("żżżż", it.next().getOrth());
  67 + try {
  68 + it.next();
  69 + fail();
  70 + }
  71 + catch (NoSuchElementException ex) {
  72 +
  73 + }
  74 + }
  75 +
  76 + @Test(expected = MorfeuszException.class)
  77 + public void testInvalidAgglOption() {
  78 + morfeusz.setAggl("XXXXYYYYZZZZ");
  79 + }
  80 +
  81 + @Test(expected = MorfeuszException.class)
  82 + public void testInvalidPraetOption() {
  83 + morfeusz.setPraet("XXXXYYYYZZZZ");
  84 + }
  85 +
  86 + @Test(expected = MorfeuszException.class)
  87 + public void testInvalidGenerate() {
  88 + morfeusz.generate("AAAA BBBB");
  89 + }
  90 +
  91 + @Test(expected = NullPointerException.class)
  92 + public void testNullCaseHandling() {
  93 + morfeusz.setCaseHandling(null);
  94 + }
  95 +
  96 + @Test(expected = IOException.class)
  97 + public void testNonExistingDictionaryFile() throws IOException {
  98 + File tmpFile = File.createTempFile("morfeusz_invalid_dict", ".test");
  99 + tmpFile.delete();
  100 + morfeusz.setGeneratorDictionary(tmpFile.getAbsolutePath());
  101 + }
  102 +
  103 + @Test(expected = IOException.class)
  104 + public void testInvalidDictionaryFile() throws IOException {
  105 + File tmpFile = File.createTempFile("morfeusz_invalid_dict", ".test");
  106 + morfeusz.setGeneratorDictionary(tmpFile.getAbsolutePath());
  107 + }
  108 +}
... ...
morfeusz/wrappers/java/test_lib/junit.jar 0 → 100644
No preview for this file type
testJavaWrapper.sh
1 1 #!/bin/bash
2 2 echo "testing java wrapper"
3   -PROJECT_BINARY_DIR=$1
4   -cd morfeusz/wrappers/java/JMorfeuszTest
5   -LD_LIBRARY_PATH="$PROJECT_BINARY_DIR/morfeusz:$PROJECT_BINARY_DIR/morfeusz/wrappers/java" ant -lib "$PROJECT_BINARY_DIR/morfeusz/wrappers/java" test
  3 +PROJECT_SRC_DIR=$1
  4 +PROJECT_BINARY_DIR=$2
  5 +TEST_DIR="$PROJECT_BINARY_DIR/morfeusz/wrappers/java"
  6 +JUNIT_JAR="$PROJECT_SRC_DIR/morfeusz/wrappers/java/test_lib/junit.jar"
  7 +JMORFEUSZ_JAR="$TEST_DIR/jmorfeusz.jar"
  8 +JAVA_TEST_FILE="$PROJECT_SRC_DIR/morfeusz/wrappers/java/JMorfeuszTest.java"
  9 +
  10 +LD_LIBRARY_PATH="$PROJECT_BINARY_DIR/morfeusz:$TEST_DIR" javac -cp "$JUNIT_JAR:$JMORFEUSZ_JAR" -d "$TEST_DIR" "$JAVA_TEST_FILE"
  11 +LD_LIBRARY_PATH="$PROJECT_BINARY_DIR/morfeusz:$TEST_DIR" java -cp "$JUNIT_JAR:$JMORFEUSZ_JAR:$TEST_DIR" org.junit.runner.JUnitCore JMorfeuszTest
... ...