package edu.umd.hooka;
import junit.framework.TestCase;
public class PhraseTest extends TestCase {
Phrase p1;
Phrase p2;
Phrase ps;
Phrase px;
VocabularyWritable v1 = new VocabularyWritable();
VocabularyWritable v2 = new VocabularyWritable();
public PhraseTest(String name) {
super(name);
p1 = Phrase.fromString(0, "a b c", v1);
p2 = Phrase.fromString(0, "d e f", v1);
ps = Phrase.fromString(0, "a b", v1);
px = Phrase.fromString(1, "d e f", v2);
}
public void testVocab() {
assertEquals(7, v1.size());
assertEquals("NULL", v1.get(0));
assertEquals("f", v1.get(6));
}
public void testHashCode() {
assertFalse(p1.hashCode() == p2.hashCode());
assertFalse(p2.hashCode() == px.hashCode());
assertFalse(p1.hashCode() == px.hashCode());
}
public void testCompareTo() {
assertEquals(p1.compareTo(p2), -p2.compareTo(p1));
assertEquals(p1.compareTo(px), -px.compareTo(p1));
assertEquals(p1.compareTo(ps), -ps.compareTo(p1));
assertTrue(p1.compareTo(p2) != 0);
assertTrue(p1.compareTo(px) != 0);
assertTrue(p1.compareTo(ps) != 0);
assertEquals(p1.compareTo(p1), 0);
}
public void testFromString() {
assertEquals("foo bar", Phrase.fromString(0, "foo bar", v1).toString(v1));
}
}