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