package hu.ppke.itk.nlpg.purepos.common; import java.util.Map; import junit.framework.Assert; import org.junit.Test; public class AnalysisQueueTest { // @Test // public void regeExpTest() { // Pattern stringRE = Pattern.compile(AnalysisQueue.stringPat); // Assert.assertEquals(true, stringRE.matcher("öüóőúáűí").matches()); // Assert.assertEquals(true, stringRE.matcher("19-e").matches()); // Assert.assertEquals(true, stringRE.matcher("2000.").matches()); // Assert.assertEquals(true, stringRE.matcher(".").matches()); // Assert.assertEquals(true, stringRE.matcher("-").matches()); // Assert.assertEquals(true, stringRE.matcher("?").matches()); // Assert.assertEquals(true, stringRE.matcher("–").matches()); // Assert.assertEquals(true, stringRE.matcher("―").matches()); // Assert.assertEquals(true, stringRE.matcher("…").matches()); // Assert.assertEquals(true, stringRE.matcher("(").matches()); // // Pattern analPat = Pattern.compile(AnalysisQueue.analPat); // // System.out.println(analPat.pattern()); // Assert.assertEquals(true, analPat.matcher("alma[FN][NOM]").matches()); // Assert.assertEquals(true, analPat.matcher("alma[FN][NOM]$$0.9") // .matches()); // Assert.assertEquals(true, analPat.matcher("alma[FN][NOM]$$12") // .matches()); // Assert.assertEquals(true, analPat.matcher("alma[FN][NOM]$$12.1341234") // .matches()); // // Pattern analsPat = AnalysisQueue.analFormPat; // Assert.assertEquals(true, analsPat.matcher("alma{{alma[FN][NOM]}}") // .matches()); // Assert.assertEquals(true, // analsPat.matcher("alma{{alma[FN][NOM]||alom[FN][Pse3]}}") // .matches()); // Assert.assertEquals( // true, // analsPat.matcher( // "alma{{alma[FN][NOM]$$0.9||alom[FN][Pse3]$$0.1}}") // .matches()); // // Ez sajnos hibás, de regexppel nem kezelhető // Assert.assertEquals(true, // analsPat.matcher("alma{{alma[FN][NOM]$$0.9||alom[FN][Pse3]}}") // .matches()); // } @Test public void preanalTest() { // AnalysisQueue aq = new AnalysisQueue(); Assert.assertEquals( true, AnalysisQueue .isPreanalysed("alma{{alma[FN][NOM]$$0.9||alom[FN][Pse3]$$0.1}}")); Assert.assertEquals(true, AnalysisQueue .isPreanalysed("alma{{alma[FN][NOM]||alom[FN][Pse3]}}")); Assert.assertEquals(true, AnalysisQueue.isPreanalysed("alma{{alma[FN][NOM]}}")); Assert.assertEquals(true, AnalysisQueue.isPreanalysed(".{{.[PUNCT]}}")); // System.out.println(AnalysisQueue.analFormPat); Assert.assertEquals(true, AnalysisQueue.isPreanalysed("o.{{o.[FN|lat][NOM]}}")); Assert.assertEquals( true, AnalysisQueue .isPreanalysed("asdfasázás{{asdf[IGE][Te3]$$-10.1||asdfasázás[FN|lat][NOM]$$-2.3}}")); Assert.assertEquals(false, AnalysisQueue.isPreanalysed("alma")); } @Test public void cleanTest() { Assert.assertEquals("alma", AnalysisQueue .clean("alma{{alma[FN][NOM]$$0.9||alom[FN][Pse3]$$0.1}}")); Assert.assertEquals("alma", AnalysisQueue.clean("alma{{alma[FN][NOM]||alom[FN][Pse3]}}")); Assert.assertEquals("alma", AnalysisQueue.clean("alma{{alma[FN][NOM]}}")); Assert.assertEquals("o.", AnalysisQueue.clean("o.{{o.[FN|lat][NOM]}}")); Assert.assertEquals("-e", AnalysisQueue.clean("-e{{[QPtl]}}")); Assert.assertEquals("<,", AnalysisQueue.clean("<,{{,[,]}}")); } @Test public void unitTest() { AnalysisQueue aq = new AnalysisQueue(); aq.init(5); aq.addWord("alma{{alma[FN][NOM]$$0.9||alom[FN][Pse3]$$0.1}}", 1); Assert.assertEquals(2, aq.anals.get(1).keySet().size()); Map<String, Double> anals = aq.getAnals(1); Assert.assertEquals(true, anals.containsKey("alma[FN][NOM]")); Assert.assertEquals(true, anals.containsKey("alom[FN][Pse3]")); Assert.assertEquals(0.9, anals.get("alma[FN][NOM]")); Assert.assertEquals(0.1, anals.get("alom[FN][Pse3]")); Assert.assertEquals(false, aq.hasAnal(0)); Assert.assertEquals(false, aq.hasAnal(8)); Assert.assertEquals(true, aq.hasAnal(1)); Assert.assertEquals(false, aq.useProbabilties(8)); Assert.assertEquals(false, aq.useProbabilties(0)); Assert.assertEquals(true, aq.useProbabilties(1)); aq.addWord("alma{{alma[FN][NOM]||alom[FN][Pse3]}}", 0); Assert.assertEquals(2, aq.anals.get(0).keySet().size()); anals = aq.getAnals(0); Assert.assertEquals(true, anals.containsKey("alma[FN][NOM]")); Assert.assertEquals(true, anals.containsKey("alom[FN][Pse3]")); Assert.assertEquals(true, aq.hasAnal(0)); Assert.assertEquals(false, aq.hasAnal(8)); Assert.assertEquals(true, aq.hasAnal(1)); Assert.assertEquals(false, aq.useProbabilties(8)); Assert.assertEquals(false, aq.useProbabilties(0)); Assert.assertEquals(true, aq.useProbabilties(1)); Assert.assertEquals("alom", AnalysisQueue.anal2lemma("alom[FN][Pse3]")); Assert.assertEquals("[FN][Pse3]", AnalysisQueue.anal2tag("alom[FN][Pse3]")); Assert.assertEquals("", AnalysisQueue.anal2lemma("[FN][Pse3]")); } }