1 package org.codehaus.mojo.jaxb2.schemageneration.postprocessing.javadoc;
2
3 import org.codehaus.mojo.jaxb2.schemageneration.postprocessing.javadoc.enums.AmericanCoin;
4 import org.codehaus.mojo.jaxb2.schemageneration.postprocessing.javadoc.enums.ExampleEnumHolder;
5 import org.codehaus.mojo.jaxb2.schemageneration.postprocessing.javadoc.enums.FoodPreference;
6 import org.junit.Assert;
7 import org.junit.Test;
8 import org.w3c.dom.Document;
9 import org.w3c.dom.Node;
10
11 import java.util.Arrays;
12 import java.util.List;
13
14
15
16
17 public class XsdEnumerationAnnotationProcessorTest extends AbstractSourceCodeAwareNodeProcessingTest {
18
19
20 private JavaDocRenderer renderer = new DefaultJavaDocRenderer();
21
22 @Test
23 public void validateProcessingNodesInVanillaXSD() throws Exception {
24
25
26 final String path = "testdata/schemageneration/javadoc/enums/expectedTransformedExampleEnumHolder.xsd";
27 final String expected = readFully(path);
28
29 final Document xsdGeneratedFromClassesInMethod = namespace2DocumentMap.get(SomewhatNamedPerson.NAMESPACE);
30 final Node rootNode = xsdGeneratedFromClassesInMethod.getFirstChild();
31
32 final XsdEnumerationAnnotationProcessor unitUnderTest = new XsdEnumerationAnnotationProcessor(docs, renderer);
33
34
35 process(rootNode, true, unitUnderTest);
36
37
38 final String processed = printDocument(xsdGeneratedFromClassesInMethod);
39
40
41 Assert.assertTrue(compareXmlIgnoringWhitespace(expected, processed).identical());
42 }
43
44
45
46
47 @Override
48 protected List<Class<?>> getJaxbAnnotatedClassesForJaxbContext() {
49 return Arrays.<Class<?>>asList(ExampleEnumHolder.class, AmericanCoin.class, FoodPreference.class);
50 }
51 }