View Javadoc

1   /*
2    *   Copyright (C) Christian Schulte, 2005-206
3    *   All rights reserved.
4    *
5    *   Redistribution and use in source and binary forms, with or without
6    *   modification, are permitted provided that the following conditions
7    *   are met:
8    *
9    *     o Redistributions of source code must retain the above copyright
10   *       notice, this list of conditions and the following disclaimer.
11   *
12   *     o Redistributions in binary form must reproduce the above copyright
13   *       notice, this list of conditions and the following disclaimer in
14   *       the documentation and/or other materials provided with the
15   *       distribution.
16   *
17   *   THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
18   *   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
19   *   AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
20   *   THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
21   *   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22   *   NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23   *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24   *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25   *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26   *   THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27   *
28   *   $JOMC: WriteModelTaskTest.java 4613 2012-09-22 10:07:08Z schulte $
29   *
30   */
31  package org.jomc.ant.test;
32  
33  import org.apache.tools.ant.BuildException;
34  import org.apache.tools.ant.Project;
35  import org.jomc.ant.WriteModelTask;
36  import org.jomc.ant.test.support.AntExecutionResult;
37  import static org.jomc.ant.test.support.Assert.assertException;
38  import static org.jomc.ant.test.support.Assert.assertExceptionMessage;
39  import static org.jomc.ant.test.support.Assert.assertMessageLogged;
40  import static org.jomc.ant.test.support.Assert.assertMessageLoggedContaining;
41  import static org.jomc.ant.test.support.Assert.assertNoException;
42  import org.junit.Test;
43  
44  /**
45   * Test cases for class {@code org.jomc.ant.WriteModelTask}.
46   *
47   * @author <a href="mailto:cs@schulte.it">Christian Schulte</a>
48   * @version $JOMC: WriteModelTaskTest.java 4613 2012-09-22 10:07:08Z schulte $
49   */
50  public class WriteModelTaskTest extends JomcModelTaskTest
51  {
52  
53      /** Creates a new {@code WriteModelTaskTest} instance. */
54      public WriteModelTaskTest()
55      {
56          super();
57      }
58  
59      /** {@inheritDoc} */
60      @Override
61      public WriteModelTask getJomcTask()
62      {
63          return (WriteModelTask) super.getJomcTask();
64      }
65  
66      /** {@inheritDoc} */
67      @Override
68      protected WriteModelTask newJomcTask()
69      {
70          return new WriteModelTask();
71      }
72  
73      /** {@inheritDoc} */
74      @Override
75      protected String getBuildFileName()
76      {
77          return "write-model-task-test.xml";
78      }
79  
80      @Test
81      public final void testSpecificationNotFound() throws Exception
82      {
83          final AntExecutionResult r = this.executeTarget( "test-specification-not-found" );
84          assertNoException( r );
85          assertMessageLogged( r, "Specification 'DOES NOT EXIST' not found.", Project.MSG_WARN );
86      }
87  
88      @Test
89      public final void testImplementationNotFound() throws Exception
90      {
91          final AntExecutionResult r = this.executeTarget( "test-implementation-not-found" );
92          assertNoException( r );
93          assertMessageLogged( r, "Implementation 'DOES NOT EXIST' not found.", Project.MSG_WARN );
94      }
95  
96      @Test
97      public final void testModuleNotFound() throws Exception
98      {
99          final AntExecutionResult r = this.executeTarget( "test-module-not-found" );
100         assertNoException( r );
101         assertMessageLogged( r, "Module 'DOES NOT EXIST' not found.", Project.MSG_WARN );
102     }
103 
104     @Test
105     public final void testWriteModelAllAttributes() throws Exception
106     {
107         final AntExecutionResult r = this.executeTarget( "test-write-model-all-attributes" );
108         assertNoException( r );
109         assertMessageLoggedContaining( r, "Writing", Project.MSG_INFO );
110     }
111 
112 }