View Javadoc

1   package org.apache.torque.generator.source.transform;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *   http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import static org.junit.Assert.assertEquals;
23  import static org.junit.Assert.assertTrue;
24  
25  import java.io.File;
26  import java.util.ArrayList;
27  import java.util.List;
28  
29  import org.apache.commons.io.FileUtils;
30  import org.apache.torque.generator.BaseTest;
31  import org.apache.torque.generator.configuration.UnitDescriptor;
32  import org.apache.torque.generator.configuration.paths.CustomProjectPaths;
33  import org.apache.torque.generator.configuration.paths.DefaultTorqueGeneratorPaths;
34  import org.apache.torque.generator.configuration.paths.Maven2DirectoryProjectPaths;
35  import org.apache.torque.generator.control.Controller;
36  import org.junit.Test;
37  
38  /**
39   * Tests whether the loadAdditionalSourceTransformer works correctly.
40   */
41  public class LoadAdditionalSourceTransformerTest extends BaseTest
42  {
43      private static final String EXPECTED = "<root>\n"
44          + "  <element>\n"
45          + "    <child/>\n"
46          + "    <additional>\n"
47          + "      <element/>\n"
48          + "    </additional>\n"
49          + "    <additional>\n"
50          + "      <element/>\n"
51          + "    </additional>\n"
52          + "  </element>\n"
53          + "  <element/>\n"
54          + "</root>\n";
55  
56      @Test
57      public void testLoadAdditionalSourceTransformerGeneration() throws Exception
58      {
59          File targetDir = new File("target/test/loadAdditionalSourceTransformer");
60          FileUtils.deleteDirectory(targetDir);
61          Controller controller = new Controller();
62          List<UnitDescriptor> unitDescriptors = new ArrayList<UnitDescriptor>();
63          CustomProjectPaths projectPaths = new CustomProjectPaths(
64                  new Maven2DirectoryProjectPaths(
65                          new File("src/test/loadAdditionalSourceTransformer")));
66          projectPaths.setOutputDirectory(null, targetDir);
67          unitDescriptors.add(new UnitDescriptor(
68                  UnitDescriptor.Packaging.DIRECTORY,
69                  projectPaths,
70                  new DefaultTorqueGeneratorPaths()));
71          controller.run(unitDescriptors);
72  
73          assertTrue(targetDir.exists());
74          File targetFile = new File(targetDir, "output.txt");
75          assertTrue(targetFile.exists());
76  
77          String content = FileUtils.readFileToString(targetFile);
78          assertEquals(EXPECTED, content.toString());
79      }
80  }