/**
* (C)2007 ICM, University of Warsaw
*
* package: pl.edu.icm.ceon.tools.reparser
* file: RegexpParserTest.java
* date: 2007-07-03
* svnid: $Id$
*/
package pl.edu.icm.coansys.commons.reparser;
import static org.testng.Assert.*;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
/**
* @author Lukasz Bolikowski (bolo@icm.edu.pl)
*
*/
public class RegexpParserTest {
RegexpParser rp;
/**
* @throws java.lang.Exception
*/
@BeforeMethod
public void setUp() throws Exception {
rp = new RegexpParser("pl/edu/icm/coansys/commons/reparser/parserTest.properties", "testing");
}
/**
* @throws java.lang.Exception
*/
@AfterMethod
public void tearDown() throws Exception {
}
/**
* Test method for {@link pl.edu.icm.ceon.tools.reparser.RegexpParser#parse(java.lang.String)}.
*/
@Test
public void testParse() {
Node n;
n = rp.parse("123 idziesz ty");
assertNotNull(n);
assertEquals("Testing", n.getName());
assertEquals("t2", n.getType());
assertNull(n.getNextAlternative());
n = rp.parse("123 idziesz ty");
assertNotNull(n);
assertNull(n.getNextAlternative());
assertTrue(n.getFieldNames().contains("Digits"));
assertNotNull(n.getFirstField("Digits"));
assertEquals("123", n.getFirstField("Digits").getValue());
assertNotNull(n.getFields("Alpha"));
n = rp.parse("6000000 bicycles 443");
/* check first alternative */
assertNotNull(n);
assertNotNull(n.getFields("Digits"));
assertEquals(2, n.getFields("Digits").size());
assertNotNull(n.getFields("Letters"));
assertEquals(1, n.getFields("Letters").size());
assertNull(n.getFields("Alpha"));
assertNotNull(n.getFields("Digits").get(1));
assertEquals("443", n.getFields("Digits").get(1).getValue());
/* check second alternative */
assertNotNull(n.getNextAlternative());
assertNotNull(n.getNextAlternative().getFields("Digits"));
assertEquals(1, n.getNextAlternative().getFields("Digits").size());
assertNotNull(n.getNextAlternative().getFields("Letters"));
assertEquals(1, n.getNextAlternative().getFields("Letters").size());
assertNotNull(n.getNextAlternative().getFields("Alpha"));
assertEquals(1, n.getNextAlternative().getFields("Alpha").size());
assertNotNull(n.getNextAlternative().getFields("Alpha").get(0));
assertEquals("443", n.getNextAlternative().getFields("Alpha").get(0).getValue());
n = rp.parse("Hey no name spox");
assertNotNull(n);
assertNotNull(n.getFieldNames());
assertEquals(1, n.getFieldNames().size());
n = rp.parse("Who is this");
assertNull(n);
n = rp.parse("60 % of 80");
assertNotNull(n);
n = rp.parse("100 % of U");
assertNull(n);
System.out.println("test bola ok ");
}
@Test
public void testParseSurname() {
RegexpParser authorParser = new RegexpParser("authorParser.properties", "author");
Node authorNode = authorParser.parse("Czeczko, Artur");
assertNotNull(authorNode);
authorNode = authorParser.parse("Czeczko, A");
assertNotNull(authorNode);
authorNode = authorParser.parse("Czeczko, A.");
assertNotNull(authorNode);
}
}