1   /*
2    * $Id: RegExFilterTestCase.java 8077 2007-08-27 20:15:25Z aperepel $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.routing.filters;
12  
13  import org.mule.tck.AbstractMuleTestCase;
14  
15  public class RegExFilterTestCase extends AbstractMuleTestCase
16  {
17  
18      public void testRegexFilterNoPattern()
19      {
20          // start with default
21          RegExFilter filter = new RegExFilter();
22          assertNull(filter.getPattern());
23          assertFalse(filter.accept("No tengo dinero"));
24  
25          // activate a pattern
26          filter.setPattern("(.*) brown fox");
27          assertTrue(filter.accept("The quick brown fox"));
28  
29          // remove pattern again, i.e. block all
30          filter.setPattern(null);
31          assertFalse(filter.accept("oh-oh"));
32      }
33  
34      public void testRegexFilter()
35      {
36  
37          RegExFilter filter = new RegExFilter("The quick (.*)");
38          assertNotNull(filter.getPattern());
39  
40          assertTrue(filter.accept("The quick brown fox"));
41          assertTrue(filter.accept("The quick "));
42  
43          assertTrue(!filter.accept("The quickbrown fox"));
44          assertTrue(!filter.accept("he quick brown fox"));
45  
46          filter.setPattern("(.*) brown fox");
47          assertTrue(filter.accept("The quick brown fox"));
48          assertTrue(filter.accept(" brown fox"));
49  
50          assertTrue(!filter.accept("The quickbrown fox"));
51          assertTrue(!filter.accept("The quick brown fo"));
52  
53          filter.setPattern("(.*) brown (.*)");
54          assertTrue(filter.accept("The quick brown fox"));
55          assertTrue(filter.accept("(.*) brown fox"));
56  
57          assertTrue(!filter.accept("The quickbrown fox"));
58          assertTrue(filter.accept("The quick brown fo"));
59  
60          filter.setPattern("(.*)");
61          assertTrue(filter.accept("The quick brown fox"));
62      }
63  }