package edu.stanford.nlp.tagger.maxent;
import junit.framework.TestCase;
//import edu.stanford.nlp.tagger.maxent.TTags;
import java.util.Set;
import edu.stanford.nlp.util.Generics;
public class TTagsTest extends TestCase {
private TTags tt;
@Override
protected void setUp() {
tt = new TTags();
}
public void testUniqueness() {
int a = tt.add("one");
int b = tt.add("two");
assertTrue(a != b);
}
public void testSameness() {
int a = tt.add("goat");
int b = tt.add("goat");
assertEquals(a, b);
}
public void testPreservesString() {
int a = tt.add("monkey");
String s = tt.getTag(a);
assertEquals(s, "monkey");
}
public void testPreservesIndex() {
int a = tt.add("spunky");
int b = tt.getIndex("spunky");
assertEquals(a, b);
}
public void testCanCount() {
int s = tt.getSize();
tt.add("asdfdsaefasfdsaf");
int s2 = tt.getSize();
assertEquals(s + 1, s2);
}
public void testHoldsLotsOfStuff() {
try {
for(int i = 0; i < 1000; i++) {
tt.add("fake" + Integer.toString(i));
}
} catch(Exception e) {
fail("couldn't put lots of stuff in:" + e.getMessage());
}
}
public void testClosed() {
tt.add("java");
assertFalse(tt.isClosed("java"));
tt.markClosed("java");
assertTrue(tt.isClosed("java"));
}
public void testSerialization() {
for(int i = 0; i < 100; i++) {
tt.add("fake" + Integer.toString(i));
}
tt.markClosed("fake44");
tt.add("boat");
tt.save("testoutputfile", Generics.<String, Set<String>>newHashMap());
TTags t2 = new TTags();
t2.read("testoutputfile");
assertEquals(tt.getSize(), t2.getSize());
assertEquals(tt.getIndex("boat"), t2.getIndex("boat"));
assertEquals(t2.getTag(tt.getIndex("boat")), "boat");
assertFalse(t2.isClosed("fake43"));
assertTrue(t2.isClosed("fake44"));
/* java=lame */
(new java.io.File("testoutputfile")).delete();
}
}