1   /* Copyright 2002-2022 CS GROUP
2    * Licensed to CS GROUP (CS) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * CS licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *   http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.orekit.errors;
18  
19  
20  import java.util.Locale;
21  
22  import org.junit.Assert;
23  import org.junit.Test;
24  
25  public class OrekitParseExceptionTest {
26  
27      @Test
28      public void testNullSpecifier() {
29          OrekitParseException e = new OrekitParseException(null, 1, 2, 3);
30          Assert.assertNull(e.getSpecifier());
31          Assert.assertEquals(3, e.getParts().length);
32          Assert.assertEquals("", e.getMessage());
33          Assert.assertEquals("", e.getLocalizedMessage());
34          Assert.assertEquals("", e.getMessage(Locale.FRENCH));
35      }
36  
37      @Test
38      public void testNullParts() {
39          OrekitParseException e =
40                          new OrekitParseException(OrekitMessages.SATELLITE_COLLIDED_WITH_TARGET,
41                                                   (Object[]) null);
42          Assert.assertEquals(OrekitMessages.SATELLITE_COLLIDED_WITH_TARGET, e.getSpecifier());
43          Assert.assertEquals(0, e.getParts().length);
44          Assert.assertEquals(e.getMessage(Locale.getDefault()), e.getLocalizedMessage());
45          Assert.assertEquals("le satellite s'est écrasé sur sa cible", e.getMessage(Locale.FRENCH));
46      }
47  
48      @Test
49      public void testMessage() {
50          OrekitParseException e =
51                          new OrekitParseException(OrekitMessages.NON_EXISTENT_HMS_TIME, 97, 98, 99);
52          Assert.assertEquals(OrekitMessages.NON_EXISTENT_HMS_TIME, e.getSpecifier());
53          Assert.assertEquals(3, e.getParts().length);
54          Assert.assertEquals(97, ((Integer) e.getParts()[0]).intValue());
55          Assert.assertEquals(98, ((Integer) e.getParts()[1]).intValue());
56          Assert.assertEquals(99, ((Integer) e.getParts()[2]).intValue());
57          Assert.assertTrue(e.getMessage().contains("98"));
58          Assert.assertEquals(e.getMessage(Locale.getDefault()), e.getLocalizedMessage());
59          Assert.assertEquals("heure inexistante 97:98:99", e.getMessage(Locale.FRENCH));
60      }
61  
62  }