1   package ch.qos.logback.core.boolex;
2   
3   import junit.framework.TestCase;
4   import ch.qos.logback.core.Context;
5   import ch.qos.logback.core.ContextBase;
6   
7   public class MatcherTest extends TestCase {
8   
9     Context context;
10    Matcher matcher;
11    
12    public void setUp() throws Exception {
13      context = new ContextBase();
14      matcher = new Matcher();
15      matcher.setContext(context);
16      matcher.setName("testMatcher");
17      super.setUp();
18    }
19    
20    public void tearDown() throws Exception {
21      matcher = null;
22      super.tearDown();
23    }
24    
25    public void testFullRegion() throws Exception {
26      matcher.setRegex(".*test.*");
27      matcher.start();
28      assertTrue(matcher.matches("test"));
29      assertTrue(matcher.matches("xxxxtest"));
30      assertTrue(matcher.matches("testxxxx"));
31      assertTrue(matcher.matches("xxxxtestxxxx"));
32    }
33    
34    public void testPartRegion() throws Exception {
35      matcher.setRegex("test");
36      matcher.start();
37      assertTrue(matcher.matches("test"));
38      assertTrue(matcher.matches("xxxxtest"));
39      assertTrue(matcher.matches("testxxxx"));
40      assertTrue(matcher.matches("xxxxtestxxxx"));
41    }
42    
43    public void testCaseInsensitive() throws Exception {
44      matcher.setRegex("test");
45      matcher.setCaseSensitive(false);
46      matcher.start();
47      
48      assertTrue(matcher.matches("TEST"));
49      assertTrue(matcher.matches("tEst"));
50      assertTrue(matcher.matches("tESt"));
51      assertTrue(matcher.matches("TesT"));
52    }
53    
54    public void testCaseSensitive() throws Exception {
55      matcher.setRegex("test");
56      matcher.setCaseSensitive(true);
57      matcher.start();
58      
59      assertFalse(matcher.matches("TEST"));
60      assertFalse(matcher.matches("tEst"));
61      assertFalse(matcher.matches("tESt"));
62      assertFalse(matcher.matches("TesT"));
63    }
64  }