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