-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNFATest.java
32 lines (29 loc) · 1.12 KB
/
NFATest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import org.junit.Assert;
import org.junit.Test;
public class NFATest {
@Test
public void match() {
Parser p = new Parser("(a*b*)*");
Regex r = p.parse();
NFA nfa = new NFA(r);
Assert.assertFalse(nfa.match("abaababbaabababbbbbbaababbabbababababababbbababababababbbaababbabbababababababbbababababababbbaababbabbababababababbbabababababababababababababababbabababababababababc", 4));
Assert.assertTrue(nfa.match("abababababababababababababababababababbababababababababababababababababababababababababababababababab", 4));
Assert.assertTrue(nfa.match("", 2));
}
@Test
public void match2(){
Parser p2 = new Parser("(a|b)*c");
Regex r2 = p2.parse();
NFA nfa2 = new NFA(r2);
Assert.assertTrue(nfa2.match("abababababababababababc", 4));
Assert.assertFalse(nfa2.match("aababababababababaca", 4));
}
@Test
public void match3(){
Parser p2 = new Parser("a*");
Regex r2 = p2.parse();
NFA nfa2 = new NFA(r2);
Assert.assertTrue(nfa2.match("aa", 4));
Assert.assertFalse(nfa2.match("ac", 4));
}
}