package com.fulmicoton.multiregexp; import dk.brics.automaton.Automaton; import dk.brics.automaton.RegExp; import dk.brics.automaton.RunAutomaton; import junit.framework.Assert; import org.junit.Test; public class MultiPatternSearcherTest { @Test public void testInverseAutomaton() { final RegExp regexp = new RegExp("abc"); final Automaton forwardAutomaton = regexp.toAutomaton(); { final RunAutomaton runAutomaton = new RunAutomaton(forwardAutomaton); Assert.assertFalse(runAutomaton.run("bca")); Assert.assertTrue(runAutomaton.run("abc")); } { final Automaton reverseAutomaton = MultiPatternSearcher.inverseAutomaton(forwardAutomaton); final RunAutomaton runAutomaton = new RunAutomaton(reverseAutomaton); Assert.assertFalse(runAutomaton.run("bca")); Assert.assertFalse(runAutomaton.run("abc")); Assert.assertTrue(runAutomaton.run("cba")); } } }