1 package org.codehaus.modello.generator.xml.stax;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import java.util.List;
26
27 import org.codehaus.modello.model.Model;
28 import org.codehaus.modello.model.ModelClass;
29 import org.codehaus.modello.model.ModelField;
30 import org.codehaus.modello.model.Version;
31 import org.codehaus.modello.plugins.xml.metadata.XmlFieldMetadata;
32 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
33
34
35
36
37
38 public class StaxGeneratorTest extends AbstractStaxGeneratorTestCase {
39 public StaxGeneratorTest() throws ComponentLookupException {
40 super("stax");
41 }
42
43 public void testStaxGenerator() throws Throwable {
44 Model model = modello.loadModel(getXmlResourceReader("/maven.mdo"));
45
46 List<ModelClass> classesList = model.getClasses(new Version("4.0.0"));
47
48 assertEquals(27, classesList.size());
49
50 ModelClass clazz = (ModelClass) classesList.get(0);
51
52 assertEquals("Model", clazz.getName());
53
54 ModelField extend = clazz.getField("extend", new Version("4.0.0"));
55
56 assertTrue(extend.hasMetadata(XmlFieldMetadata.ID));
57
58 XmlFieldMetadata xml = (XmlFieldMetadata) extend.getMetadata(XmlFieldMetadata.ID);
59
60 assertNotNull(xml);
61
62 assertTrue(xml.isAttribute());
63
64 assertEquals("extender", xml.getTagName());
65
66 ModelField build = clazz.getField("build", new Version("4.0.0"));
67
68 assertTrue(build.hasMetadata(XmlFieldMetadata.ID));
69
70 xml = (XmlFieldMetadata) build.getMetadata(XmlFieldMetadata.ID);
71
72 assertNotNull(xml);
73
74 assertEquals("builder", xml.getTagName());
75
76 verifyModel(model, "org.codehaus.modello.generator.xml.stax.StaxVerifier");
77 }
78 }