1
2
3
4
5
6 package mockit.internal.expectations.argumentMatching;
7
8 import static org.junit.jupiter.api.Assertions.assertFalse;
9 import static org.junit.jupiter.api.Assertions.assertTrue;
10
11 import org.junit.jupiter.api.Test;
12
13 final class PatternMatcherTest {
14
15 @Test
16 void matchesValidPattern() {
17 PatternMatcher matcher = new PatternMatcher("[a-z]+");
18 assertTrue(matcher.matches("hello"));
19 }
20
21 @Test
22 void doesNotMatchNonMatchingString() {
23 PatternMatcher matcher = new PatternMatcher("[a-z]+");
24 assertFalse(matcher.matches("123"));
25 }
26
27 @Test
28 void doesNotMatchNull() {
29 PatternMatcher matcher = new PatternMatcher("[a-z]+");
30 assertFalse(matcher.matches(null));
31 }
32
33 @Test
34 void doesNotMatchNonCharSequence() {
35 PatternMatcher matcher = new PatternMatcher("[a-z]+");
36 assertFalse(matcher.matches(Integer.valueOf(42)));
37 }
38
39 @Test
40 void samePatternReturnsFalseForDifferentPattern() {
41 PatternMatcher matcher1 = new PatternMatcher("[a-z]+");
42 PatternMatcher matcher2 = new PatternMatcher("[0-9]+");
43 assertFalse(matcher1.same(matcher2));
44 }
45
46 @Test
47 void writeMismatchPhrase() {
48 PatternMatcher matcher = new PatternMatcher("[a-z]+");
49 ArgumentMismatch mismatch = new ArgumentMismatch();
50 matcher.writeMismatchPhrase(mismatch);
51 assertTrue(mismatch.toString().contains("[a-z]+"));
52 }
53 }