KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tirsen > nanning > attribute > AttributesBuilderTest


1 package com.tirsen.nanning.attribute;
2
3 import java.io.File JavaDoc;
4 import java.io.FileInputStream JavaDoc;
5 import java.io.IOException JavaDoc;
6 import java.util.List JavaDoc;
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 JavaDoc classPropertiesHelpers;
14     private AttributesBuilder builder;
15     private FileInputStream JavaDoc input;
16
17     protected void setUp() throws Exception JavaDoc {
18         super.setUp();
19
20         builder = new AttributesBuilder();
21         File JavaDoc 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 JavaDoc(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 JavaDoc {
37         input.close();
38
39         super.tearDown();
40     }
41
42     public void testOuterClass() throws IOException JavaDoc {
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 JavaDoc {
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