/* * WordNetParserTest.java * JUnit based test * */ package rfc2229; import junit.framework.*; import java.util.List; import java.util.ArrayList; import java.util.regex.Pattern; import java.util.regex.Matcher; import java.util.regex.PatternSyntaxException; /** * * @author andrew */ public class WordNetParserTest extends TestCase { public WordNetParserTest(String testName) { super(testName); } protected void setUp() throws Exception { } protected void tearDown() throws Exception { } public static Test suite() { TestSuite suite = new TestSuite(WordNetParserTest.class); return suite; } /** * Test of getSynonyms method, of class rfc2229.WordNetParser. */ public void testGetSynonyms() { System.out.println("getSynonyms"); String text_saccharify = "\n" + "saccharify \n" + " v 1: sweeten with sugar; \"sugar your tea\" [syn: sugar, one more sugar]\n" + " 2: convert into a simple soluble fermentable sugar by\n" + " hydrolyzing a sugar derivative or complex carbohydrate\n" + " [also: saccharified], and [blah: blah-blah-blah]"; List<String> expResult = new ArrayList<String>(); expResult.add("sugar"); expResult.add("one more sugar"); expResult.add("saccharified"); List<String> result = WordNetParser.getSynonyms(text_saccharify); assertEquals(expResult, result); } /** Tests of extraction of unique words, i.e. without repetitions. */ public void testGetSynonyms_AntonymAndUniqueness() { System.out.println("getSynonyms_AntonymAndUniqueness"); String text = "\n" + "transparence\n" + " n 1: permitting the free passage of electromagnetic radiation\n" + " [syn: transparency] [ant: opacity]\n" + " 2: the quality of being clear and transparent [syn: transparency, transparentness]\n" + " test repetition with the tag also [also: transparency, transparentness]"; List<String> expResult = new ArrayList<String>(); expResult.add("transparency"); expResult.add("transparentness"); List<String> result = WordNetParser.getSynonyms(text); assertEquals(expResult, result); } /** Real life examples: lines with newlines \r\n. * "saccharify\r\n v 1: sweeten with sugar; \"sugar your tea\" [syn: {sugar}]\r\n 2: convert into a simple soluble fermentable sugar by\r\n hydrolyzing a sugar derivative or complex carbohydrate\r\n [also: {saccharified}]\r\n.\r\n" */ public void testGetSynonyms_newlines() { System.out.println("getSynonyms_newlines"); String text = "saccharify\r\n v 1: sweeten with sugar; \"sugar your tea\" [syn: {sugar}]\r\n " + "2: convert into a simple soluble fermentable sugar by\r\n hydrolyzing a sugar derivative " + "or complex carbohydrate\r\n [also: {saccharified\r\n}]\r\n.\r\n"; List<String> expResult = new ArrayList<String>(); expResult.add("sugar"); expResult.add("saccharified"); List<String> result = WordNetParser.getSynonyms(text); assertEquals(expResult, result); } }