View Javadoc
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   * @author <a href="mailto:lj@jguru.se">Lennart J&ouml;relid</a>, jGuru Europe AB
16   */
17  public class XsdEnumerationAnnotationProcessorTest extends AbstractSourceCodeAwareNodeProcessingTest {
18  
19      // Shared state
20      private JavaDocRenderer renderer = new DefaultJavaDocRenderer();
21  
22      @Test
23      public void validateProcessingNodesInVanillaXSD() throws Exception {
24  
25          // Assemble
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          // Act
35          process(rootNode, true, unitUnderTest);
36  
37          // Assert
38          final String processed = printDocument(xsdGeneratedFromClassesInMethod);
39          // System.out.println("Got: " + processed);
40  
41          Assert.assertTrue(compareXmlIgnoringWhitespace(expected, processed).identical());
42      }
43  
44      /**
45       * {@inheritDoc}
46       */
47      @Override
48      protected List<Class<?>> getJaxbAnnotatedClassesForJaxbContext() {
49          return Arrays.<Class<?>>asList(ExampleEnumHolder.class, AmericanCoin.class, FoodPreference.class);
50      }
51  }