package edu.cmu.sphinx.alignment;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.contains;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import edu.cmu.sphinx.util.Utilities;
public class TextAlignerLargeTest {
private List<String> database;
private LongTextAligner aligner;
@BeforeClass
public void setUp() {
Random rng = new Random(42);
database = new ArrayList<String>();
String[] dictionary = new String[] {"foo", "bar", "baz", "quz"};
for (int i = 0; i < 100000; ++i)
database.add(dictionary[rng.nextInt(dictionary.length)]);
aligner = new LongTextAligner(database, 3);
}
@Test(invocationTimeOut = 10000, invocationCount = 1, enabled = false)
public void alignShortSequence() {
List<String> query = database.subList(100, 200);
Integer[] ids = new Integer[query.size()];
for (int i = 0; i < query.size(); ++i)
ids[i] = 100 + i;
assertThat(Utilities.asList(aligner.align(query)), contains(ids));
}
@Test(invocationTimeOut = 10000, invocationCount = 1, enabled = false)
public void alignLongSequence() {
List<String> query = database.subList(1999, 8777);
assertThat(Utilities.asList(aligner.align(query)), contains(1));
}
}