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;
24 import org.apache.rat.analysis.IHeaderMatcher.State;
25 import org.apache.rat.testhelpers.TestingMatcher;
26 import org.junit.jupiter.api.Test;
27
28 public class NotMatcherTest {
29
30 private void assertValues(IHeaderMatcher target, State hello, State world, State finalize) {
31 assertEquals(State.i, target.currentState());
32 assertEquals( hello, target.matches("hello"), "hello match");
33 assertEquals( hello, target.currentState(), "hello current");
34 assertEquals(world, target.matches("world"), "world match");
35 assertEquals( world, target.currentState(), "world current");
36 assertEquals(finalize, target.finalizeState(), "finalize match");
37 assertEquals(finalize, target.currentState(), "finalize current");
38 }
39
40 @Test
41 public void testTrue() {
42 IHeaderMatcher one = new TestingMatcher("one", true);
43 NotMatcher target = new NotMatcher("Testing", one);
44 assertValues(target, State.f, State.f, State.f);
45
46 one = new TestingMatcher("one", false, true);
47 target = new NotMatcher("Testing", one);
48 assertValues(target, State.i, State.f, State.f);
49 target.reset();
50 assertEquals(State.i, target.currentState());
51 }
52
53 @Test
54 public void testFalse() {
55 TestingMatcher one = new TestingMatcher("one", false, false);
56 one.finalState = State.t;
57 NotMatcher target = new NotMatcher("Testing", one);
58 assertValues(target, State.i, State.i, State.f);
59 target.reset();
60 assertEquals(State.i, target.currentState());
61
62 }
63 }