From 66b9596280edb39e64d4e8b6158db1d9e5358f93 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Euzenat?= <Jerome.Euzenat@inria.fr>
Date: Fri, 8 Feb 2013 14:24:29 +0000
Subject: [PATCH] - added JWNL tests / fixed JSON test

---
 test/src/EDOALExportTest.java |   2 +-
 test/src/JWNLTest.java        | 103 +++++++++++++++++++++++++++++++---
 test/src/READMETest.java      |  10 ++--
 3 files changed, 100 insertions(+), 15 deletions(-)

diff --git a/test/src/EDOALExportTest.java b/test/src/EDOALExportTest.java
index 24518d68..d1f6ae25 100644
--- a/test/src/EDOALExportTest.java
+++ b/test/src/EDOALExportTest.java
@@ -175,7 +175,7 @@ public class EDOALExportTest {
 	writer.close();
 	String str1 = stream.toString();
 	//System.err.println(str1);
-	assertEquals( str1.length(), 36095 );
+	assertEquals( str1.length(), 36097 );
     }
 
     @Test(groups = { "full", "omwg", "raw" }, dependsOnMethods = {"setUp"})
diff --git a/test/src/JWNLTest.java b/test/src/JWNLTest.java
index cd4602eb..94a8fa38 100644
--- a/test/src/JWNLTest.java
+++ b/test/src/JWNLTest.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2008-2010
+ * Copyright (C) INRIA, 2008-2010, 2013
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
@@ -62,21 +62,19 @@ public class JWNLTest {
     }
 
     @Test(groups = { "full", "ling" })
-    public void routineJWNLAlignmentTest() throws Exception {
+    public void routineDefaultJWNLAlignmentTest() throws Exception {
     /*
-$ setenv WNDIR ../WordNet-2.0/dict
+$ setenv WNDIR ../WordNet-3.0/dict
 $ java -jar lib/procalign.jar -Dwndict=$WNDIR file://$CWD/examples/rdf/edu.umbc.ebiquity.publication.owl file://$CWD/examples/rdf/edu.mit.visus.bibtex.owl -i fr.inrialpes.exmo.align.ling.JWNLAlignment -o examples/rdf/JWNL.rdf
     */
 	Properties params = new Properties();
-	//System.getenv("WNDIR");
-	//params.setProperty( "wndict", "../WordNet-2.0/dict" );
 	params.setProperty( "wndict", "../WordNet-3.0/dict" );
 	alignment = new JWNLAlignment();
 	assertNotNull( alignment, "ObjectAlignment should not be null" );
 	assertEquals( alignment.nbCells(), 0 );
 	alignment.init( new URI("file:examples/rdf/edu.umbc.ebiquity.publication.owl"), new URI("file:examples/rdf/edu.mit.visus.bibtex.owl"));
 	alignment.align( (Alignment)null, params );
-	assertEquals( alignment.nbCells(), 43 );
+	assertEquals( alignment.nbCells(), 1343 );
 	ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
 	PrintWriter writer = new PrintWriter (
 			  new BufferedWriter(
@@ -85,19 +83,106 @@ $ java -jar lib/procalign.jar -Dwndict=$WNDIR file://$CWD/examples/rdf/edu.umbc.
 	alignment.render( renderer );
 	writer.flush();
 	writer.close();
-	assertEquals( stream.toString().length(), 14027, "Rendered differently" );
+	assertEquals( stream.toString().length(), 411462, "Rendered differently" );
 	alignment.cut( "hard", 0.4 );
-	assertEquals( alignment.nbCells(), 38 );
+	assertEquals( alignment.nbCells(), 122 );
 
-	// Different similarity
+    }
+
+    @Test(groups = { "full", "ling" })
+    public void routineCoSynonymyJWNLAlignmentTest() throws Exception {
+	Properties params = new Properties();
+	params.setProperty( "wndict", "../WordNet-3.0/dict" );
 	params.setProperty( "wnfunction", "cosynonymySimilarity" );
 	alignment = new JWNLAlignment();
+	assertNotNull( alignment, "ObjectAlignment should not be null" );
+	assertEquals( alignment.nbCells(), 0 );
+	alignment.init( new URI("file:examples/rdf/edu.umbc.ebiquity.publication.owl"), new URI("file:examples/rdf/edu.mit.visus.bibtex.owl"));
+	alignment.align( (Alignment)null, params );
+	assertEquals( alignment.nbCells(), 3 );
+	ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
+	PrintWriter writer = new PrintWriter (
+			  new BufferedWriter(
+			       new OutputStreamWriter( stream, "UTF-8" )), true);
+	AlignmentVisitor renderer = new RDFRendererVisitor( writer );
+	alignment.render( renderer );
+	writer.flush();
+	writer.close();
+	assertEquals( stream.toString().length(), 1985, "Rendered differently" );
+	alignment.cut( "hard", 0.4 );
+	assertEquals( alignment.nbCells(), 3 );
+    }
+
+    @Test(groups = { "full", "ling" })
+    public void routineBasicSynonymyJWNLAlignmentTest() throws Exception {
+	Properties params = new Properties();
+	params.setProperty( "wndict", "../WordNet-3.0/dict" );
+	params.setProperty( "wnfunction", "basicSynonymySimilarity" );
+	alignment = new JWNLAlignment();
+	assertNotNull( alignment, "ObjectAlignment should not be null" );
+	assertEquals( alignment.nbCells(), 0 );
 	alignment.init( new URI("file:examples/rdf/edu.umbc.ebiquity.publication.owl"), new URI("file:examples/rdf/edu.mit.visus.bibtex.owl"));
 	alignment.align( (Alignment)null, params );
 	assertEquals( alignment.nbCells(), 10 );
+	ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
+	PrintWriter writer = new PrintWriter (
+			  new BufferedWriter(
+			       new OutputStreamWriter( stream, "UTF-8" )), true);
+	AlignmentVisitor renderer = new RDFRendererVisitor( writer );
+	alignment.render( renderer );
+	writer.flush();
+	writer.close();
+	assertEquals( stream.toString().length(), 4037, "Rendered differently" );
 	alignment.cut( "hard", 0.4 );
 	assertEquals( alignment.nbCells(), 10 );
+    }
+
+    @Test(groups = { "full", "ling" })
+    public void routineWuPalmerJWNLAlignmentTest() throws Exception {
+	Properties params = new Properties();
+	params.setProperty( "wndict", "../WordNet-3.0/dict" );
+	params.setProperty( "wnfunction", "wuPalmerSimilarity" );
+	alignment = new JWNLAlignment();
+	assertNotNull( alignment, "ObjectAlignment should not be null" );
+	assertEquals( alignment.nbCells(), 0 );
+	alignment.init( new URI("file:examples/rdf/edu.umbc.ebiquity.publication.owl"), new URI("file:examples/rdf/edu.mit.visus.bibtex.owl"));
+	alignment.align( (Alignment)null, params );
+	assertEquals( alignment.nbCells(), 40 );
+	ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
+	PrintWriter writer = new PrintWriter (
+			  new BufferedWriter(
+			       new OutputStreamWriter( stream, "UTF-8" )), true);
+	AlignmentVisitor renderer = new RDFRendererVisitor( writer );
+	alignment.render( renderer );
+	writer.flush();
+	writer.close();
+	assertEquals( stream.toString().length(), 13081, "Rendered differently" );
+	alignment.cut( "hard", 0.4 );
+	assertEquals( alignment.nbCells(), 35 );
+    }
 
+    @Test(groups = { "full", "ling" })
+    public void routineGlossOverlapJWNLAlignmentTest() throws Exception {
+	Properties params = new Properties();
+	params.setProperty( "wndict", "../WordNet-3.0/dict" );
+	params.setProperty( "wnfunction", "glossOverlapSimilarity" );
+	alignment = new JWNLAlignment();
+	assertNotNull( alignment, "ObjectAlignment should not be null" );
+	assertEquals( alignment.nbCells(), 0 );
+	alignment.init( new URI("file:examples/rdf/edu.umbc.ebiquity.publication.owl"), new URI("file:examples/rdf/edu.mit.visus.bibtex.owl"));
+	alignment.align( (Alignment)null, params );
+	assertEquals( alignment.nbCells(), 32 );
+	ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
+	PrintWriter writer = new PrintWriter (
+			  new BufferedWriter(
+			       new OutputStreamWriter( stream, "UTF-8" )), true);
+	AlignmentVisitor renderer = new RDFRendererVisitor( writer );
+	alignment.render( renderer );
+	writer.flush();
+	writer.close();
+	assertEquals( stream.toString().length(), 10757, "Rendered differently" );
+	alignment.cut( "hard", 0.4 );
+	assertEquals( alignment.nbCells(), 10 );
     }
 
 }
diff --git a/test/src/READMETest.java b/test/src/READMETest.java
index 70522bad..7f438002 100644
--- a/test/src/READMETest.java
+++ b/test/src/READMETest.java
@@ -329,12 +329,12 @@ $ java -cp lib/procalign.jar fr.inrialpes.exmo.align.cli.EvalAlign -i fr.inrialp
 	writer.flush();
 	writer.close();
 	// These figures must be checked at least onece!
-	assertEquals( eval.getPrecision(), 0.3181818181818182 );
-	assertEquals( eval.getRecall(), 0.3939393939393939 );
-	assertEquals( eval.getNoise(), 1.0 );
+	assertEquals( eval.getPrecision(), 0.7619047619047619 ); //0.3181818181818182
+	assertEquals( eval.getRecall(), 1.0 );//0.3939393939393939
+	assertEquals( eval.getNoise(), 0.23809523809523814 );//1.0
 	//assertEquals( eval.getFallout(), 1.0 );
-	assertEquals( eval.getFmeasure(), 0.3520309477756286 );
-	assertEquals( eval.getOverall(), -0.4502164502164502 );
+	assertEquals( eval.getFmeasure(), 0.8648648648648648 );//0.3520309477756286
+	assertEquals( eval.getOverall(), 0.6875 );//-0.4502164502164502
 	//assertEquals( eval.getResult(), 1.34375 );
     }
 
-- 
GitLab