1   /* Copyright 2002-2025 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  import org.junit.jupiter.api.Assertions;
20  import org.junit.jupiter.api.Test;
21  
22  import java.util.Locale;
23  
24  public class OrekitIllegalStateExceptionTest {
25  
26      @Test
27      public void testNullSpecifier() {
28          OrekitIllegalStateException e = new OrekitIllegalStateException(null, 1, 2, 3);
29          Assertions.assertNull(e.getSpecifier());
30          Assertions.assertEquals(3, e.getParts().length);
31          Assertions.assertEquals("", e.getMessage());
32          Assertions.assertEquals("", e.getLocalizedMessage());
33          Assertions.assertEquals("", e.getMessage(Locale.FRENCH));
34      }
35  
36      @Test
37      public void testNullParts() {
38          OrekitIllegalStateException e =
39                          new OrekitIllegalStateException(OrekitMessages.SATELLITE_COLLIDED_WITH_TARGET,
40                                                          (Object[]) null);
41          Assertions.assertEquals(OrekitMessages.SATELLITE_COLLIDED_WITH_TARGET, e.getSpecifier());
42          Assertions.assertEquals(0, e.getParts().length);
43          Assertions.assertEquals(e.getMessage(Locale.getDefault()), e.getLocalizedMessage());
44          Assertions.assertEquals("le satellite s'est écrasé sur sa cible", e.getMessage(Locale.FRENCH));
45      }
46  
47      @Test
48      public void testMessage() {
49          OrekitIllegalStateException e =
50                          new OrekitIllegalStateException(OrekitMessages.NON_EXISTENT_HMS_TIME, 97, 98, 99);
51          Assertions.assertEquals(OrekitMessages.NON_EXISTENT_HMS_TIME, e.getSpecifier());
52          Assertions.assertEquals(3, e.getParts().length);
53          Assertions.assertEquals(97, ((Integer) e.getParts()[0]).intValue());
54          Assertions.assertEquals(98, ((Integer) e.getParts()[1]).intValue());
55          Assertions.assertEquals(99, ((Integer) e.getParts()[2]).intValue());
56          Assertions.assertTrue(e.getMessage().contains("98"));
57          Assertions.assertEquals(e.getMessage(Locale.getDefault()), e.getLocalizedMessage());
58          Assertions.assertEquals("heure inexistante 97:98:99", e.getMessage(Locale.FRENCH));
59      }
60  
61  }