package edu.stanford.nlp.trees;
import junit.framework.TestCase;
import java.io.*;
/**
* Start testing various output mechanisms for TreePrint. So far, just one
*
* @author John Bauer
*/
public class TreePrintTest extends TestCase {
public void testConll2007() {
Tree test = Tree.valueOf("((S (NP (PRP It)) (VP (VBZ is) (RB not) (ADJP (JJ normal)) (SBAR (IN for) (S (NP (NNS dogs)) (VP (TO to) (VP (VB be) (VP (VBG vomiting)))))))))");
String[] words = { "It", "is", "not", "normal", "for", "dogs", "to", "be", "vomiting" };
String[] tags = { "PRP", "VBZ", "RB", "JJ", "IN", "NNS", "TO", "VB", "VBG" };
TreePrint treePrint = new TreePrint("conll2007");
StringWriter writer = new StringWriter();
PrintWriter wrapped = new PrintWriter(writer);
treePrint.printTree(test, wrapped);
wrapped.close();
String out = writer.toString();
String[] lines = out.trim().split("\n");
for (int i = 0; i < lines.length; ++i) {
String[] pieces = lines[i].trim().split("\\s+");
int lineNum = Integer.valueOf(pieces[0]);
assertEquals((i + 1), lineNum);
assertEquals(words[i], pieces[1]);
assertEquals(tags[i], pieces[3]);
assertEquals(tags[i], pieces[4]);
}
}
}