1 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 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 [] 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 |