1   /*
2    * $Id: WildcardFilterTestCase.java 7963 2007-08-21 08:53:15Z dirk.olmes $
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 WildcardFilterTestCase extends AbstractMuleTestCase
16  {
17  
18      public void testWildcardFilterNoPattern()
19      {
20          // start with default
21          WildcardFilter filter = new WildcardFilter();
22          assertFalse(filter.accept("No tengo dinero"));
23  
24          // activate a pattern
25          filter.setPattern("* brown fox");
26          assertTrue(filter.accept("The quick brown fox"));
27  
28          // remove pattern again, i.e. block all
29          filter.setPattern(null);
30          assertFalse(filter.accept("oh-oh"));
31      }
32  
33      public void testWildcardFilterPostfix()
34      {
35          WildcardFilter filter = new WildcardFilter("The quick *");
36          assertNotNull(filter.getPattern());
37          assertTrue(filter.accept("The quick brown fox"));
38          assertTrue(filter.accept("The quick *"));
39  
40          assertTrue(!filter.accept("The quickbrown fox"));
41          assertTrue(!filter.accept("he quick brown fox"));
42      }
43  
44      public void testWildcardFilterPrefix()
45      {
46          WildcardFilter filter = new WildcardFilter();
47          filter.setPattern("* brown fox");
48          assertTrue(filter.accept("The quick brown fox"));
49          assertTrue(filter.accept("* brown fox"));
50  
51          assertTrue(!filter.accept("The quickbrown fox"));
52          assertTrue(!filter.accept("The quick brown fo"));
53  
54      }
55  
56      public void testWildcardFilterPrePost()
57      {
58          WildcardFilter filter = new WildcardFilter();
59          filter.setPattern("* brown *");
60          assertTrue(filter.accept("The quick brown fox"));
61          assertTrue(filter.accept("* brown fox"));
62  
63          assertTrue(!filter.accept("The quickbrown fox"));
64          assertTrue(filter.accept("The quick brown fo"));
65  
66          filter.setPattern("**");
67          assertTrue(filter.accept("The quick brown fox"));
68  
69          filter.setPattern("*w*");
70          assertTrue(filter.accept("The quick brown fox"));
71  
72          filter.setPattern("*");
73          assertTrue(filter.accept("The quick brown fox"));
74  
75          filter.setPattern("*.*");
76          assertTrue(filter.accept("test.xml"));
77  
78          filter.setPattern("*.txt");
79          assertTrue(filter.accept("test.txt"));
80      }
81  
82      public void testWildcardFilterMultiplePatterns()
83      {
84          WildcardFilter filter = new WildcardFilter();
85          filter.setPattern("* brown*, The*");
86          assertTrue(filter.accept("The quick brown fox"));
87          assertTrue(filter.accept(" brown fox"));
88  
89          assertTrue(filter.accept("The quickbrown fox"));
90  
91          filter.setPattern("* if, The*");
92          assertTrue(!filter.accept("What The!"));
93          assertTrue(!filter.accept("simplify"));
94  
95      }
96  
97      public void testWildcardFilterCasesensitive()
98      {
99          WildcardFilter filter = new WildcardFilter();
100         filter.setPattern("* brown fox");
101         assertFalse(filter.accept("The quick Brown fox"));
102         assertTrue(filter.accept("* brown fox"));
103         filter.setCaseSensitive(false);
104         assertTrue(filter.accept("The quick Brown fox"));
105     }
106 
107 }