1 package com.tirsen.nanning.attribute; 2 3 import java.io.File ; 4 import java.io.FileInputStream ; 5 import java.io.IOException ; 6 import java.util.List ; 7 8 import com.thoughtworks.qdox.parser.impl.JFlexLexer; 9 import com.thoughtworks.qdox.parser.impl.Parser; 10 import junit.framework.TestCase; 11 12 public class AttributesBuilderTest extends TestCase { 13 private List classPropertiesHelpers; 14 private AttributesBuilder builder; 15 private FileInputStream input; 16 17 protected void setUp() throws Exception { 18 super.setUp(); 19 20 builder = new AttributesBuilder(); 21 File javaFile = AbstractAttributesTest.findNanningFile("src" + File.separator + 22 "test" + File.separator + 23 "com" + File.separator + 24 "tirsen" + File.separator + 25 "nanning" + File.separator + 26 "attribute" + File.separator + 27 "AttributesTestClass.java"); 28 29 input = new FileInputStream (javaFile); 30 new Parser(new JFlexLexer(input), builder).parse(); 31 32 classPropertiesHelpers = builder.getClassPropertiesHelpers(); 33 assertEquals(2, classPropertiesHelpers.size()); 34 } 35 36 protected void tearDown() throws Exception { 37 input.close(); 38 39 super.tearDown(); 40 } 41 42 public void testOuterClass() throws IOException { 43 ClassPropertiesHelper classPropertiesHelper = (ClassPropertiesHelper) classPropertiesHelpers.get(0); 44 assertEquals("AttributesTestClass", classPropertiesHelper.getClassName()); 45 assertEquals("com.tirsen.nanning.attribute", classPropertiesHelper.getPackageName()); 46 47 ClassAttributes attributes = new ClassAttributes(AttributesTestClass.class); 48 classPropertiesHelper.setTargetClassAttributes(attributes); 49 classPropertiesHelper.transferAttributesToTarget(); 50 51 assertEquals(AttributesTest.FIELD_VALUE, 52 attributes.getAttribute(AttributesTest.field, AttributesTest.FIELD_ATTRIBUTE)); 53 assertEquals(AttributesTest.METHOD_VALUE, 54 attributes.getAttribute(AttributesTest.method, AttributesTest.METHOD_ATTRIBUTE)); 55 } 56 57 public void testInnerClass() throws IOException { 58 ClassPropertiesHelper classPropertiesHelper = (ClassPropertiesHelper) classPropertiesHelpers.get(1); 59 assertEquals("AttributesTestClass$InnerClass", classPropertiesHelper.getClassName()); 60 assertEquals("com.tirsen.nanning.attribute", classPropertiesHelper.getPackageName()); 61 62 ClassAttributes attributes = new ClassAttributes(AttributesTestClass.InnerClass.class); 63 classPropertiesHelper.setTargetClassAttributes(attributes); 64 classPropertiesHelper.transferAttributesToTarget(); 65 66 assertEquals(AttributesTest.INNER_VALUE, attributes.getAttribute(AttributesTest.INNER_ATTRIBUTE)); 67 assertEquals(AttributesTest.INNER_FIELD_VALUE, attributes.getAttribute(AttributesTest.innerField, AttributesTest.INNER_FIELD_ATTRIBUTE)); 68 } 69 70 } 71
| Popular Tags
|