package edu.stanford.nlp.trees.tregex.tsurgeon;
import junit.framework.TestCase;
import java.util.regex.Matcher;
/**
* Test the regex patterns in AuxiliaryTree. The tree itself will be
* tested indirectly by seeing that Tsurgeon works, via TsurgeonTest.
*
* @author John Bauer
*/
public class AuxiliaryTreeTest extends TestCase {
public void testNamePattern() {
runNamePatternTrue("abcd=efgh", "abcd", "efgh");
runNamePatternFalse("abcd\\=efgh");
runNamePatternTrue("abcd\\\\=efgh", "abcd\\\\", "efgh");
runNamePatternFalse("abcd\\\\\\=efgh");
runNamePatternTrue("abcd\\\\\\\\=efgh", "abcd\\\\\\\\", "efgh");
}
public static void runNamePatternFalse(String input) {
Matcher m = AuxiliaryTree.namePattern.matcher(input);
assertFalse(m.find());
}
public static void runNamePatternTrue(String input, String leftover, String name) {
Matcher m = AuxiliaryTree.namePattern.matcher(input);
assertTrue(m.find());
assertEquals(leftover, m.group(1));
assertEquals(name, m.group(2));
}
public void testUnescape() {
assertEquals("asdf", AuxiliaryTree.unescape("asdf"));
assertEquals("asdf=", AuxiliaryTree.unescape("asdf\\="));
assertEquals("asdf\\=", AuxiliaryTree.unescape("asdf\\\\="));
}
}