package edu.berkeley.cs.nlp.ocular.data.textreader;
import static edu.berkeley.cs.nlp.ocular.data.textreader.Charset.TILDE_COMBINING;
import static edu.berkeley.cs.nlp.ocular.data.textreader.Charset.TILDE_ESCAPE;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import tberg.murphy.indexer.Indexer;
/**
* @author Dan Garrette (dhgarrette@gmail.com)
*/
public class CharIndexerTests {
@Test
public void test() {
Indexer<String> i = new CharIndexer();
String ae = TILDE_ESCAPE + "a";
String ac = "a" + TILDE_COMBINING;
String ee = TILDE_ESCAPE + "e";
String ec = "e" + TILDE_COMBINING;
String ne = TILDE_ESCAPE + "n";
String nc = "n" + TILDE_COMBINING;
String np = "ñ";
i.index(new String[] { "a", "b", ec });
assertTrue(i.contains("a"));
assertTrue(i.contains("b"));
assertTrue(i.contains(ec));
assertTrue(i.contains(ee));
assertEquals(0, i.getIndex("a"));
assertEquals("a", i.getObject(0));
assertEquals(1, i.getIndex("b"));
assertEquals("b", i.getObject(1));
assertEquals(2, i.getIndex(ec));
assertEquals(ec, i.getObject(2));
assertEquals(2, i.getIndex(ec));
assertEquals(3, i.size());
assertFalse(i.contains(ae));
assertFalse(i.contains(ac));
assertEquals(3, i.getIndex(ae));
assertTrue(i.contains(ae));
assertTrue(i.contains(ac));
assertEquals(3, i.getIndex(ac));
assertTrue(i.contains(ae));
assertTrue(i.contains(ac));
assertEquals(4, i.size());
assertFalse(i.contains(ne));
assertFalse(i.contains(nc));
assertFalse(i.contains(np));
assertEquals(4, i.getIndex(np));
assertEquals(nc, i.getObject(4));
assertTrue(i.contains(ne));
assertTrue(i.contains(nc));
assertTrue(i.contains(np));
assertEquals(4, i.getIndex(ne));
assertEquals(4, i.getIndex(nc));
assertEquals(nc, i.getObject(4));
assertEquals(5, i.size());
assertFalse(i.locked());
i.lock();
assertTrue(i.locked());
}
}