KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > ClassPatternTest


1 /**************************************************************************************
2  * Copyright (c) Jonas BonŽr, Alexandre Vasseur. All rights reserved. *
3  * http://aspectwerkz.codehaus.org *
4  * ---------------------------------------------------------------------------------- *
5  * The software in this package is published under the terms of the LGPL license *
6  * a copy of which has been included with this distribution in the license.txt file. *
7  **************************************************************************************/

8 package test;
9
10 import junit.framework.TestCase;
11 import org.codehaus.aspectwerkz.expression.SubtypePatternType;
12 import org.codehaus.aspectwerkz.expression.regexp.Pattern;
13 import org.codehaus.aspectwerkz.expression.regexp.TypePattern;
14
15 /**
16  * @author <a HREF="mailto:jboner@codehaus.org">Jonas BonŽr </a>
17  */

18 public class ClassPatternTest extends TestCase {
19     public void testMatchMethodName1() {
20         TypePattern classPattern = Pattern.compileTypePattern(
21                 "foo.bar.SomeClass",
22                 SubtypePatternType.NOT_HIERARCHICAL
23         );
24         assertFalse(classPattern.matches("SomeClass"));
25         assertTrue(classPattern.matches("foo.bar.SomeClass"));
26         assertFalse(classPattern.matches("Class"));
27         assertFalse(classPattern.matches(""));
28     }
29
30     public void testMatchMethodName2() {
31         TypePattern classPattern = Pattern.compileTypePattern(
32                 "foo.bar.*",
33                 SubtypePatternType.NOT_HIERARCHICAL
34         );
35         assertTrue(classPattern.matches("foo.bar.SomeClass"));
36         assertTrue(classPattern.matches("foo.bar.SomeOtherClass"));
37         assertFalse(classPattern.matches("SomeClass"));
38         assertFalse(classPattern.matches(""));
39     }
40
41     public void testMatchMethodName3() {
42         TypePattern classPattern = Pattern.compileTypePattern(
43                 "foo.*.bar.SomeClass",
44                 SubtypePatternType.NOT_HIERARCHICAL
45         );
46         assertTrue(classPattern.matches("foo.hey.bar.SomeClass"));
47         assertTrue(classPattern.matches("foo.there.bar.SomeClass"));
48         assertFalse(classPattern.matches("SomeClass"));
49         assertFalse(classPattern.matches(""));
50     }
51
52     public void testMatchMethodName4() {
53         TypePattern classPattern = Pattern.compileTypePattern(
54                 "foo.ba*.*",
55                 SubtypePatternType.NOT_HIERARCHICAL
56         );
57         assertTrue(classPattern.matches("foo.bag.SomeClass"));
58         assertTrue(classPattern.matches("foo.bar.SomeClass"));
59         assertTrue(classPattern.matches("foo.ba.SomeClass"));
60         assertFalse(classPattern.matches("foo.bear.SomeClass"));
61         assertFalse(classPattern.matches("foo"));
62     }
63
64     public void testMatchClassName5() {
65         TypePattern classPattern = Pattern.compileTypePattern(
66                 "foo..",
67                 SubtypePatternType.NOT_HIERARCHICAL
68         );
69         assertTrue(classPattern.matches("foo.hey.bar.SomeClass"));
70         assertTrue(classPattern.matches("foo.SomeClass"));
71         assertTrue(classPattern.matches("foo.bar.SomeClass"));
72         assertFalse(classPattern.matches("foo"));
73     }
74
75     public void testMatchClassName6() {
76         TypePattern classPattern = Pattern.compileTypePattern(
77                 "*",
78                 SubtypePatternType.NOT_HIERARCHICAL
79         );
80         assertTrue(classPattern.matches("foo.hey.bar.SomeClass"));
81         assertTrue(classPattern.matches("foo.SomeClass"));
82         assertTrue(classPattern.matches("foo.bar.SomeClass"));
83         assertTrue(classPattern.matches("foo"));
84     }
85
86     public void testMatchClassName7() {
87         TypePattern classPattern = Pattern.compileTypePattern(
88                 "..",
89                 SubtypePatternType.NOT_HIERARCHICAL
90         );
91         assertTrue(classPattern.matches("foo.hey.bar.SomeClass"));
92         assertTrue(classPattern.matches("foo.SomeClass"));
93         assertTrue(classPattern.matches("foo.bar.SomeClass"));
94         assertTrue(classPattern.matches("foo"));
95     }
96
97     public void testMatchClassName8() {
98         TypePattern classPattern = Pattern.compileTypePattern(
99                 "foo.bar..*",
100                 SubtypePatternType.NOT_HIERARCHICAL
101         );
102         assertTrue(classPattern.matches("foo.bar.SomeClass"));
103         assertTrue(classPattern.matches("foo.bar.baz.SomeClass"));
104         assertTrue(classPattern.matches("foo.bar.baz.buzz.SomeClass"));
105     }
106
107     public void testMatchClassName9() {
108         TypePattern classPattern = Pattern.compileTypePattern(
109                 "foo.bar.Baz$Buzz",
110                 SubtypePatternType.NOT_HIERARCHICAL
111         );
112         assertTrue(classPattern.matches("foo.bar.Baz$Buzz"));
113         assertFalse(classPattern.matches("foo.bar.Baz"));
114     }
115
116     public void testMatchClassName10() {
117         TypePattern classPattern = Pattern.compileTypePattern(
118                 "foo.bar..$Buzz",
119                 SubtypePatternType.NOT_HIERARCHICAL
120         );
121         assertTrue(classPattern.matches("foo.bar.Baz$Buzz"));
122         assertTrue(classPattern.matches("foo.bar.Baz.Buz$Buzz"));
123         assertFalse(classPattern.matches("foo.bar.Baz.Buz$Buz"));
124         assertFalse(classPattern.matches("foo.bar.Baz"));
125     }
126
127     public static void main(String JavaDoc[] args) {
128         junit.textui.TestRunner.run(suite());
129     }
130
131     public static junit.framework.Test suite() {
132         return new junit.framework.TestSuite(ClassPatternTest.class);
133     }
134 }
Popular Tags