View Javadoc
1   package org.opentrafficsim.core.gtu;
2   
3   import static org.junit.Assert.assertEquals;
4   import static org.junit.Assert.assertNotNull;
5   import static org.junit.Assert.assertTrue;
6   import static org.junit.Assert.fail;
7   
8   import org.junit.Test;
9   
10  import nl.tudelft.simulation.language.Throw;
11  
12  /**
13   * Test the GTUException class.
14   * <p>
15   * Copyright (c) 2013-2017 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br>
16   * BSD-style license. See <a href="http://opentrafficsim.org/docs/current/license.html">OpenTrafficSim License</a>.
17   * <p>
18   * @version $Revision$, $LastChangedDate$, by $Author$, initial version Mar 11, 2016 <br>
19   * @author <a href="http://www.tudelft.nl/pknoppers">Peter Knoppers</a>
20   */
21  public class GTUExceptionTest
22  {
23  
24      /**
25       * Test the GTUException class.
26       */
27      @Test
28      public final void gtuExceptionTest()
29      {
30          GTUException e = new GTUException();
31          assertNotNull("result should not be null", e);
32          String message = "test message";
33          e = new GTUException(message);
34          assertEquals("message should be " + message, message, e.getMessage());
35          String causeMessage = "cause message";
36          Throwable cause = new Throwable(causeMessage);
37          e = new GTUException(cause);
38          assertEquals("cause message should be" + causeMessage, causeMessage, e.getCause().getMessage());
39          e = new GTUException(message, cause);
40          assertEquals("message should be " + message, message, e.getMessage());
41          assertEquals("cause message should be" + causeMessage, causeMessage, e.getCause().getMessage());
42          e = new GTUException(message, cause, false, false);
43          assertEquals("message should be " + message, message, e.getMessage());
44          assertEquals("cause message should be" + causeMessage, causeMessage, e.getCause().getMessage());
45          // TODO check that the values of enableSuppresion and writableStackTrace are correctly reflected in e
46          e = new GTUException(message, cause, false, true);
47          assertEquals("message should be " + message, message, e.getMessage());
48          assertEquals("cause message should be" + causeMessage, causeMessage, e.getCause().getMessage());
49          e = new GTUException(message, cause, true, false);
50          assertEquals("message should be " + message, message, e.getMessage());
51          assertEquals("cause message should be" + causeMessage, causeMessage, e.getCause().getMessage());
52          e = new GTUException(message, cause, true, true);
53          assertEquals("message should be " + message, message, e.getMessage());
54          assertEquals("cause message should be" + causeMessage, causeMessage, e.getCause().getMessage());
55      }
56  
57      /**
58       * Test the throwIf method.
59       * @throws GTUException should not happen (this test has failed if it does)
60       */
61      @Test
62      public final void throwIfTest() throws GTUException
63      {
64          String message = "message";
65          try
66          {
67              Throw.when(true, GTUException.class, message);
68              fail("Previous statement should have thrown a GTUException");
69          }
70          catch (GTUException e)
71          {
72              assertTrue(e.getMessage().endsWith(message));
73          }
74  
75          Throw.when(false, GTUException.class, message);
76      }
77  }