* Created on: 31.08.2010 8:20:00
*/
public class RopeBasedISTest {
@Test
public void testABConDFA() {
DFABuilder forward = new DFABuilder(4, 0, 1);
forward.state(0).transitions('a', 1, null, 0);
forward.state(1).transitions('b', 2, null, 0);
forward.state(2).transitions('c', 3, null, 0);
forward.state(3, 0).transitions(null, 3);
DFABuilder backward = new DFABuilder(4, 0, 1);
backward.state(0).transitions('c', 1, null, 0);
backward.state(1).transitions('b', 2, null, 0);
backward.state(2).transitions('a', 3, null, 0);
backward.state(3, 0).transitions(null, 3);
BiDFA<Character,IntState> bidfa = new BiDFA<Character, IntState>(forward.build(), backward.build());
int blockSize = 3;
RopeBasedIS<?> is = new RopeBasedIS<IntState>(bidfa, "xxxcabccccc", blockSize);
List<Match> matches = newArrayList();
for(Match m : is.getMatches()) {