1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.rat.analysis.matchers;
20
21 import static org.junit.jupiter.api.Assertions.assertEquals;
22
23 import org.apache.rat.analysis.IHeaderMatcher.State;
24 import org.junit.jupiter.api.BeforeEach;
25 import org.junit.jupiter.api.Test;
26
27 public class SimpleTextMatcherTest {
28
29 SimpleTextMatcher target;
30
31 @BeforeEach
32 public void setup() {
33 target = new SimpleTextMatcher("hello");
34 }
35
36 @Test
37 public void testMatch() {
38 assertEquals(State.i, target.currentState());
39 assertEquals(State.i, target.matches("what in the world"));
40 assertEquals(State.i, target.currentState());
41 assertEquals(State.t, target.matches("hello world"));
42 assertEquals(State.t, target.currentState());
43 assertEquals(State.t, target.finalizeState());
44 assertEquals(State.t, target.currentState());
45 target.reset();
46 assertEquals(State.i, target.currentState());
47 }
48
49 @Test
50 public void testNoMatch() {
51 assertEquals(State.i, target.currentState());
52 assertEquals(State.i, target.matches("what in the world"));
53 assertEquals(State.i, target.currentState());
54 assertEquals(State.i, target.matches("hell o'there"));
55 assertEquals(State.i, target.currentState());
56 assertEquals(State.f, target.finalizeState());
57 assertEquals(State.f, target.currentState());
58 target.reset();
59 assertEquals(State.i, target.currentState());
60 }
61
62 @Test
63 public void testTrueIsAlwaysTrue() {
64 assertEquals(State.i, target.currentState());
65 assertEquals(State.t, target.matches("hello world"));
66 assertEquals(State.t, target.currentState());
67 assertEquals(State.t, target.matches("A non matching line"));
68 assertEquals(State.t, target.currentState());
69 assertEquals(State.t, target.finalizeState());
70 assertEquals(State.t, target.currentState());
71 target.reset();
72 assertEquals(State.i, target.currentState());
73 }
74
75 @Test
76 public void testIndeterminent() {
77 target = new SimpleTextMatcher("not a match");
78 assertEquals(State.i, target.currentState());
79 assertEquals(State.i, target.matches("hello world"));
80 assertEquals(State.i, target.currentState());
81 assertEquals(State.i, target.matches("A non matching line"));
82 assertEquals(State.i, target.currentState());
83 assertEquals(State.f, target.finalizeState());
84 assertEquals(State.f, target.currentState());
85 target.reset();
86 assertEquals(State.i, target.currentState());
87 }
88 }