1 package com.tirsen.nanning.attribute; 2 3 import junit.framework.TestCase; 4 5 import java.lang.reflect.Proxy ; 6 import java.io.File ; 7 8 public class ClassPropertiesHelperTest extends TestCase { 9 private ClassPropertiesHelper classPropertiesHelper; 10 11 protected void setUp() throws Exception { 12 super.setUp(); 13 14 classPropertiesHelper = new ClassPropertiesHelper(); 15 } 16 17 public void testLoadFieldAttribute() { 18 classPropertiesHelper.loadFieldAttribute("field", "attribute", "value"); 19 assertEquals("value", classPropertiesHelper.properties.getProperty("field.field.attribute")); 20 } 21 22 public void testLoadMethodAttribute() { 23 classPropertiesHelper.loadMethodAttribute("method()", "attribute", "value"); 24 assertEquals("value", classPropertiesHelper.properties.getProperty("method.method().attribute")); 25 } 26 27 public void testLoadClassAttribute() { 28 classPropertiesHelper.loadClassAttribute("attribute", "value"); 29 assertEquals("value", classPropertiesHelper.properties.getProperty("class.attribute")); 30 } 31 32 void method(double[] doubles) {} 33 void method(Double [] doubles) {} 34 void method(int[] ints) {} 35 36 public void testMethodSignature() throws NoSuchMethodException { 37 assertEquals("method()", ClassPropertiesHelper.methodSignature(AttributesTest.method)); 38 assertEquals("method()", ClassPropertiesHelper.methodSignature(AttributesTest.method)); 39 assertEquals("method(String,String)", ClassPropertiesHelper.methodSignature(AttributesTest.argMethod)); 40 assertEquals("method(String,String)", ClassPropertiesHelper.methodSignature(AttributesTest.argMethod)); 41 assertEquals("method(String)", ClassPropertiesHelper.methodSignature(AttributesTest.arrayArgMethod)); 42 assertEquals("method(String)", ClassPropertiesHelper.methodSignature(AttributesTest.arrayArgMethod)); 43 assertEquals("method(double)", ClassPropertiesHelper.methodSignature( 44 ClassPropertiesHelperTest.class.getDeclaredMethod("method", new Class [] { double[].class }))); 45 assertEquals("method(Double)", ClassPropertiesHelper.methodSignature( 46 ClassPropertiesHelperTest.class.getDeclaredMethod("method", new Class [] { Double [].class }))); 47 assertEquals("method(int)", ClassPropertiesHelper.methodSignature( 48 ClassPropertiesHelperTest.class.getDeclaredMethod("method", new Class [] { int[].class }))); 49 } 50 51 public void testGetClassName() { 52 assertEquals(null, classPropertiesHelper.getClassName()); 53 classPropertiesHelper.setClassName("Class"); 54 assertEquals("Class", classPropertiesHelper.getClassName()); 55 } 56 57 public void testJoinTail() { 58 String [] parts = "field.field.field.attribute".split("\\."); 59 assertEquals("field.attribute", ClassPropertiesHelper.joinTail(parts, 2)); 60 parts = "field.field.attribute".split("\\."); 61 assertEquals("attribute", ClassPropertiesHelper.joinTail(parts, 2)); 62 } 63 64 public void testClassName() { 65 assertEquals("ClassPropertiesHelperTest", ClassPropertiesHelper.className(ClassPropertiesHelperTest.class)); 66 } 67 68 public void testPackageName() { 69 assertEquals("com.tirsen.nanning.attribute", ClassPropertiesHelper.packageName(ClassPropertiesHelperTest.class)); 70 assertEquals("", ClassPropertiesHelper.packageName( 71 Proxy.getProxyClass(getClass().getClassLoader(), new Class [0]))); 72 } 73 74 75 public void testGetFileName() { 76 File baseDir = new File ("."); 77 classPropertiesHelper.setPackageName("package.name"); 78 classPropertiesHelper.setClassName("ClassName"); 79 assertEquals(new File (baseDir, "package" + File.separator + "name" + File.separator + "ClassName.attributes"), 80 classPropertiesHelper.getAttributeFile(baseDir)); 81 } 82 } 83 | Popular Tags |