1 package csdl.jblanket.modifier; 2 3 import csdl.jblanket.methodset.MethodInfo; 4 import csdl.jblanket.methodset.MethodSet; 5 6 import java.io.File ; 7 import java.util.ArrayList ; 8 import java.util.Date ; 9 import java.util.List ; 10 11 import junit.framework.TestCase; 12 13 19 public class TestMethodCollector extends TestCase { 20 21 22 private static final String SLASH = File.separator; 23 24 29 public TestMethodCollector(String name) { 30 super(name); 31 } 32 33 38 public void testIsTestClass() throws Exception { 39 40 final String prefixFoo = "Prefixfoo"; 42 final String testFoo = "Testfoo"; 43 final String fooTest = "fooTest"; 44 final String fooEnding = "fooEnding"; 45 46 final String testPrefix1 = "Prefix*.class"; 48 final String testPrefix2 = "Prefix*.java"; 49 final String testPrefix3 = "Prefix*."; 50 final String testPrefix4 = "Prefix*"; 51 52 final String testGrammar1 = "Test*.class"; 54 final String testGrammar2 = "Test*.java"; 55 final String testGrammar3 = "Test*."; 56 final String testGrammar4 = "Test*"; 57 58 final String grammarTest1 = "*Test.class"; 60 final String grammarTest2 = "*Test.java"; 61 final String grammarTest3 = "*Test."; 62 final String grammarTest4 = "*Test"; 63 64 final String grammarEnding1 = "*Ending.class"; 66 final String grammarEnding2 = "*Ending.java"; 67 final String grammarEnding3 = "*Ending."; 68 final String grammarEnding4 = "*Ending"; 69 70 assertTrue("Checking " + testPrefix1, MethodCollector.isTestClass(prefixFoo, testPrefix1)); 73 assertTrue("Checking " + testPrefix2, MethodCollector.isTestClass(prefixFoo, testPrefix2)); 74 assertTrue("Checking " + testPrefix3, MethodCollector.isTestClass(prefixFoo, testPrefix3)); 75 assertTrue("Checking " + testPrefix4, MethodCollector.isTestClass(prefixFoo, testPrefix4)); 76 77 assertTrue("Checking " + testGrammar1, MethodCollector.isTestClass(testFoo, testGrammar1)); 79 assertTrue("Checking " + testGrammar2, MethodCollector.isTestClass(testFoo, testGrammar2)); 80 assertTrue("Checking " + testGrammar3, MethodCollector.isTestClass(testFoo, testGrammar3)); 81 assertTrue("Checking " + testGrammar4, MethodCollector.isTestClass(testFoo, testGrammar4)); 82 83 assertTrue("Checking " + grammarTest1, MethodCollector.isTestClass(fooTest, grammarTest1)); 85 assertTrue("Checking " + grammarTest2, MethodCollector.isTestClass(fooTest, grammarTest2)); 86 assertTrue("Checking " + grammarTest3, MethodCollector.isTestClass(fooTest, grammarTest3)); 87 assertTrue("Checking " + grammarTest4, MethodCollector.isTestClass(fooTest, grammarTest4)); 88 89 assertTrue("Checking " + grammarEnding1, 91 MethodCollector.isTestClass(fooEnding, grammarEnding1)); 92 assertTrue("Checking " + grammarEnding2, 93 MethodCollector.isTestClass(fooEnding, grammarEnding2)); 94 assertTrue("Checking " + grammarEnding3, 95 MethodCollector.isTestClass(fooEnding, grammarEnding3)); 96 assertTrue("Checking " + grammarEnding4, 97 MethodCollector.isTestClass(fooEnding, grammarEnding4)); 98 99 assertTrue("Checking invalid class name " + testFoo + " with " + grammarTest1, 101 !MethodCollector.isTestClass(testFoo, grammarTest1)); 102 assertTrue("Checking invalid class name " + fooTest + " with " + testGrammar1, 103 !MethodCollector.isTestClass(fooTest, testGrammar1)); 104 } 105 106 111 public void testGetJBlanketDir() throws Exception { 112 113 String userDir = System.getProperty("user.home"); 114 String defaultJBlanketDir = userDir + SLASH + "jblanket"; 115 System.setProperty("jblanket.dir", ""); 116 String jblanketDir = MethodCollector.getJBlanketDir(); 117 118 assertEquals("Checking default JBlanket directory", defaultJBlanketDir, jblanketDir); 120 jblanketDir = System.getProperty("jblanket.dir"); 121 assertEquals("Checking JBlanket directory value", defaultJBlanketDir, jblanketDir); 122 } 123 124 127 public void testReconstructType() { 128 129 final String byteType = "B"; 131 final String charType = "C"; 133 final String doubleType = "D"; 135 final String floatType = "F"; 137 final String intType = "I"; 139 final String longType = "J"; 141 final String shortType = "S"; 143 final String booleanType = "Z"; 145 final String objectType = "Ljava/util/List;"; 147 final String arrayType = "[[[D"; 149 final String objectArrayType = "[[" + objectType; 151 152 assertEquals("checking 'byte' base type", "byte", 154 MethodCollector.reconstructType(byteType)); 155 assertEquals("checking 'char' base type", "char", 156 MethodCollector.reconstructType(charType)); 157 assertEquals("checking 'double' base type", "double", 158 MethodCollector.reconstructType(doubleType)); 159 assertEquals("checking 'float' base type", "float", 160 MethodCollector.reconstructType(floatType)); 161 assertEquals("checking 'int' base type", "int", 162 MethodCollector.reconstructType(intType)); 163 assertEquals("checking 'long' base type", "long", 164 MethodCollector.reconstructType(longType)); 165 assertEquals("checking 'short' base type", "short", 166 MethodCollector.reconstructType(shortType)); 167 assertEquals("checking 'boolean' base type", "boolean", 168 MethodCollector.reconstructType(booleanType)); 169 assertEquals("checking object type", "java.util.List", 170 MethodCollector.reconstructType(objectType)); 171 assertEquals("checking 3-D 'double' array type", "double[][][]", 172 MethodCollector.reconstructType(arrayType)); 173 assertEquals("checking 2-D object array type", "java.util.List[][]", 174 MethodCollector.reconstructType(objectArrayType)); 175 } 176 177 182 public void testStoreMethodData() throws Exception { 183 184 MethodSet testSet = new MethodSet(); 186 187 String testDir = System.getProperty("jblanket.testdir") + SLASH + "testmethodcollector"; 189 final String xmlFile = "testMethodSet.xml"; 191 192 MethodInfo methodInfo1; 194 MethodInfo methodInfo2; 196 197 final String class1 = "java.lang.String"; 199 final String class2 = "java.lang.Boolean"; 201 final String class3 = "foo.bar.Baz"; 203 final String class4 = "foo.bar.Foo"; 205 206 final String method1 = "getQux"; 208 final String method2 = "setQux"; 210 211 List params = new ArrayList (); 213 params.add(class1); 214 params.add(class2); 215 methodInfo1 = new MethodInfo(class3, method1, params); 216 methodInfo2 = new MethodInfo(class4, method2, new ArrayList ()); 217 218 testSet.add(methodInfo1); 220 testSet.add(methodInfo2); 221 222 File outDir = new File (testDir); 224 if (!outDir.exists()) { 225 outDir.mkdirs(); 226 } 227 228 try { 230 MethodCollector.storeMethodData(testSet, testDir + SLASH + xmlFile, class3, new Date ()); 231 } 232 catch (Exception e) { 233 fail("Checking storeMethodData method"); 234 } 235 } 236 237 240 public void testRemovePackagePrefix() { 241 final String string = "java.lang.String"; 243 assertEquals("Checking removePackagePrefix method", "String", 244 MethodCollector.removePackagePrefix(string)); 245 } 246 } 247 248 | Popular Tags |