View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   * https://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  
20  package org.apache.commons.lang3;
21  
22  import static org.junit.jupiter.api.Assertions.assertEquals;
23  import static org.junit.jupiter.api.Assertions.assertFalse;
24  import static org.junit.jupiter.api.Assertions.assertNotNull;
25  import static org.junit.jupiter.api.Assertions.assertNull;
26  import static org.junit.jupiter.api.Assertions.assertTrue;
27  
28  import java.io.File;
29  import java.lang.reflect.Constructor;
30  import java.lang.reflect.Field;
31  import java.lang.reflect.Modifier;
32  import java.nio.file.Files;
33  import java.nio.file.Path;
34  import java.util.Locale;
35  
36  import org.junit.jupiter.api.Test;
37  
38  /**
39   * Tests {@link SystemUtils}.
40   *
41   * Only limited testing can be performed.
42   */
43  class SystemUtilsTest extends AbstractLangTest {
44  
45      /**
46       * Returns the value of the SystemUtils.IS_JAVA_X field for the versions >= 9.
47       */
48      private boolean getIS_JAVA(final int version) throws Exception {
49          return SystemUtils.class.getField("IS_JAVA_" + version).getBoolean(null);
50      }
51  
52      /**
53       * Returns the last supported version with the SystemUtils.IS_JAVA_X fields.
54       */
55      public int getLastSupportedJavaVersion() {
56          int lastSupportedVersion = 0;
57          for (final Field field : SystemUtils.class.getFields()) {
58              if (field.getName().matches("IS_JAVA_\\d+")) {
59                  lastSupportedVersion = Math.max(lastSupportedVersion, Integer.parseInt(field.getName().substring(8)));
60              }
61          }
62          return lastSupportedVersion;
63      }
64  
65      @Test
66      @SuppressWarnings("deprecation")
67      void test_IS_JAVA() throws Exception {
68          final String javaVersion = SystemUtils.JAVA_VERSION;
69          final int lastSupportedVersion = getLastSupportedJavaVersion();
70          if (javaVersion == null) {
71              assertFalse(SystemUtils.IS_JAVA_1_1);
72              assertFalse(SystemUtils.IS_JAVA_1_2);
73              assertFalse(SystemUtils.IS_JAVA_1_3);
74              assertFalse(SystemUtils.IS_JAVA_1_4);
75              assertFalse(SystemUtils.IS_JAVA_1_5);
76              assertFalse(SystemUtils.IS_JAVA_1_6);
77              assertFalse(SystemUtils.IS_JAVA_1_7);
78              assertFalse(SystemUtils.IS_JAVA_1_8);
79              assertFalse(SystemUtils.IS_JAVA_1_9);
80              assertFalse(SystemUtils.IS_JAVA_10);
81              assertFalse(SystemUtils.IS_JAVA_11);
82              assertFalse(SystemUtils.IS_JAVA_12);
83              assertFalse(SystemUtils.IS_JAVA_13);
84              assertFalse(SystemUtils.IS_JAVA_14);
85              assertFalse(SystemUtils.IS_JAVA_15);
86              assertFalse(SystemUtils.IS_JAVA_16);
87              assertFalse(SystemUtils.IS_JAVA_17);
88              assertFalse(SystemUtils.IS_JAVA_18);
89              assertFalse(SystemUtils.IS_JAVA_19);
90              assertFalse(SystemUtils.IS_JAVA_20);
91              assertFalse(SystemUtils.IS_JAVA_21);
92              assertFalse(SystemUtils.IS_JAVA_22);
93              assertFalse(SystemUtils.IS_JAVA_23);
94              assertFalse(SystemUtils.IS_JAVA_24);
95              assertFalse(SystemUtils.IS_JAVA_25);
96              assertFalse(SystemUtils.IS_JAVA_26);
97              for (int version = 9; version <= lastSupportedVersion; version++) {
98                  assertFalse(getIS_JAVA(version));
99              }
100         } else if (javaVersion.startsWith("1.8")) {
101             assertFalse(SystemUtils.IS_JAVA_1_1);
102             assertFalse(SystemUtils.IS_JAVA_1_2);
103             assertFalse(SystemUtils.IS_JAVA_1_3);
104             assertFalse(SystemUtils.IS_JAVA_1_4);
105             assertFalse(SystemUtils.IS_JAVA_1_5);
106             assertFalse(SystemUtils.IS_JAVA_1_6);
107             assertFalse(SystemUtils.IS_JAVA_1_7);
108             assertTrue(SystemUtils.IS_JAVA_1_8);
109             assertFalse(SystemUtils.IS_JAVA_1_9);
110             assertFalse(SystemUtils.IS_JAVA_10);
111             assertFalse(SystemUtils.IS_JAVA_11);
112             assertFalse(SystemUtils.IS_JAVA_12);
113             assertFalse(SystemUtils.IS_JAVA_13);
114             assertFalse(SystemUtils.IS_JAVA_14);
115             assertFalse(SystemUtils.IS_JAVA_15);
116             assertFalse(SystemUtils.IS_JAVA_16);
117             assertFalse(SystemUtils.IS_JAVA_17);
118             assertFalse(SystemUtils.IS_JAVA_18);
119             assertFalse(SystemUtils.IS_JAVA_19);
120             assertFalse(SystemUtils.IS_JAVA_20);
121             assertFalse(SystemUtils.IS_JAVA_21);
122             assertFalse(SystemUtils.IS_JAVA_22);
123             assertFalse(SystemUtils.IS_JAVA_23);
124             assertFalse(SystemUtils.IS_JAVA_24);
125             assertFalse(SystemUtils.IS_JAVA_25);
126             assertFalse(SystemUtils.IS_JAVA_26);
127             for (int version = 9; version <= lastSupportedVersion; version++) {
128                 assertFalse(getIS_JAVA(version));
129             }
130         } else if (!javaVersion.startsWith("1.")) {
131             assertFalse(SystemUtils.IS_JAVA_1_1);
132             assertFalse(SystemUtils.IS_JAVA_1_2);
133             assertFalse(SystemUtils.IS_JAVA_1_3);
134             assertFalse(SystemUtils.IS_JAVA_1_4);
135             assertFalse(SystemUtils.IS_JAVA_1_5);
136             assertFalse(SystemUtils.IS_JAVA_1_6);
137             assertFalse(SystemUtils.IS_JAVA_1_7);
138             assertFalse(SystemUtils.IS_JAVA_1_8);
139             assertEquals(javaVersion.startsWith("9"), SystemUtils.IS_JAVA_1_9);
140             for (int version = 9; version <= lastSupportedVersion; version++) {
141                 assertEquals(javaVersion.startsWith("" + version), getIS_JAVA(version));
142             }
143         } else {
144             System.out.println("Can't test IS_JAVA value: " + javaVersion);
145         }
146     }
147 
148     @Test
149     void test_IS_OS() {
150         final String osName = System.getProperty("os.name");
151         if (osName == null) {
152             assertFalse(SystemUtils.IS_OS_WINDOWS);
153             assertFalse(SystemUtils.IS_OS_UNIX);
154             assertFalse(SystemUtils.IS_OS_SOLARIS);
155             assertFalse(SystemUtils.IS_OS_LINUX);
156             assertFalse(SystemUtils.IS_OS_MAC_OSX);
157             assertFalse(SystemUtils.IS_OS_NETWARE);
158         } else if (osName.startsWith("Windows")) {
159             assertTrue(SystemUtils.IS_OS_WINDOWS);
160             assertFalse(SystemUtils.IS_OS_ANDROID);
161             assertFalse(SystemUtils.IS_OS_UNIX);
162             assertFalse(SystemUtils.IS_OS_NETWARE);
163         } else if (osName.startsWith("Solaris")) {
164             assertTrue(SystemUtils.IS_OS_SOLARIS);
165             assertTrue(SystemUtils.IS_OS_UNIX);
166             assertFalse(SystemUtils.IS_OS_ANDROID);
167             assertFalse(SystemUtils.IS_OS_WINDOWS);
168             assertFalse(SystemUtils.IS_OS_NETWARE);
169         } else if (osName.toLowerCase(Locale.ENGLISH).startsWith("linux")) {
170             assertTrue(SystemUtils.IS_OS_LINUX);
171             assertTrue(SystemUtils.IS_OS_UNIX);
172             assertFalse(SystemUtils.IS_OS_WINDOWS);
173             assertFalse(SystemUtils.IS_OS_NETWARE);
174         } else if (osName.startsWith("Mac OS X")) {
175             assertTrue(SystemUtils.IS_OS_MAC_OSX);
176             assertTrue(SystemUtils.IS_OS_UNIX);
177             assertFalse(SystemUtils.IS_OS_ANDROID);
178             assertFalse(SystemUtils.IS_OS_WINDOWS);
179             assertFalse(SystemUtils.IS_OS_NETWARE);
180             // @formatter:off
181             final boolean[] macOsValues = {
182                     SystemUtils.IS_OS_MAC_OSX_BIG_SUR,
183                     SystemUtils.IS_OS_MAC_OSX_CATALINA,
184                     SystemUtils.IS_OS_MAC_OSX_CHEETAH,
185                     SystemUtils.IS_OS_MAC_OSX_EL_CAPITAN,
186                     SystemUtils.IS_OS_MAC_OSX_HIGH_SIERRA,
187                     SystemUtils.IS_OS_MAC_OSX_JAGUAR,
188                     SystemUtils.IS_OS_MAC_OSX_LEOPARD,
189                     SystemUtils.IS_OS_MAC_OSX_LION,
190                     SystemUtils.IS_OS_MAC_OSX_MAVERICKS,
191                     SystemUtils.IS_OS_MAC_OSX_MOJAVE,
192                     SystemUtils.IS_OS_MAC_OSX_MONTEREY,
193                     SystemUtils.IS_OS_MAC_OSX_MOUNTAIN_LION,
194                     SystemUtils.IS_OS_MAC_OSX_PANTHER,
195                     SystemUtils.IS_OS_MAC_OSX_PUMA,
196                     SystemUtils.IS_OS_MAC_OSX_SEQUOIA,
197                     SystemUtils.IS_OS_MAC_OSX_SIERRA,
198                     SystemUtils.IS_OS_MAC_OSX_SNOW_LEOPARD,
199                     SystemUtils.IS_OS_MAC_OSX_SONOMA,
200                     SystemUtils.IS_OS_MAC_OSX_TIGER,
201                     SystemUtils.IS_OS_MAC_OSX_VENTURA,
202                     SystemUtils.IS_OS_MAC_OSX_YOSEMITE };
203             // @formatter:on
204             if (BooleanUtils.or(macOsValues)) {
205                 // If one is true, then only one should be true.
206                 assertTrue(BooleanUtils.xor(macOsValues));
207             }
208         } else if (osName.startsWith("OS/2")) {
209             assertTrue(SystemUtils.IS_OS_OS2);
210             assertFalse(SystemUtils.IS_OS_UNIX);
211             assertFalse(SystemUtils.IS_OS_ANDROID);
212             assertFalse(SystemUtils.IS_OS_WINDOWS);
213             assertFalse(SystemUtils.IS_OS_NETWARE);
214         } else if (osName.startsWith("SunOS")) {
215             assertTrue(SystemUtils.IS_OS_SUN_OS);
216             assertTrue(SystemUtils.IS_OS_UNIX);
217             assertFalse(SystemUtils.IS_OS_ANDROID);
218             assertFalse(SystemUtils.IS_OS_WINDOWS);
219             assertFalse(SystemUtils.IS_OS_NETWARE);
220         } else if (osName.startsWith("FreeBSD")) {
221             assertTrue(SystemUtils.IS_OS_FREE_BSD);
222             assertTrue(SystemUtils.IS_OS_UNIX);
223             assertFalse(SystemUtils.IS_OS_ANDROID);
224             assertFalse(SystemUtils.IS_OS_WINDOWS);
225             assertFalse(SystemUtils.IS_OS_NETWARE);
226         } else {
227             System.err.println("Can't test IS_OS_ value: " + osName);
228         }
229     }
230 
231     @Test
232     void test_IS_zOS() {
233         final String osName = System.getProperty("os.name");
234         if (osName == null) {
235             assertFalse(SystemUtils.IS_OS_ZOS);
236         } else if (osName.contains("z/OS")) {
237             assertFalse(SystemUtils.IS_OS_WINDOWS);
238             assertTrue(SystemUtils.IS_OS_ZOS);
239         }
240     }
241 
242     /**
243      * Assumes no security manager exists.
244      */
245     @Test
246     void test_USER_NAME() {
247         assertEquals(System.getProperty("user.name"), SystemUtils.USER_NAME);
248     }
249 
250     @Test
251     void testConstructor() {
252         assertNotNull(new SystemUtils());
253         final Constructor<?>[] cons = SystemUtils.class.getDeclaredConstructors();
254         assertEquals(1, cons.length);
255         assertTrue(Modifier.isPublic(cons[0].getModifiers()));
256         assertTrue(Modifier.isPublic(SystemUtils.class.getModifiers()));
257         assertFalse(Modifier.isFinal(SystemUtils.class.getModifiers()));
258     }
259 
260     @Test
261     void testGetEnvironmentVariableAbsent() {
262         final String name = "THIS_ENV_VAR_SHOULD_NOT_EXIST_FOR_THIS_TEST_TO_PASS";
263         final String expected = System.getenv(name);
264         assertNull(expected);
265         final String value = SystemUtils.getEnvironmentVariable(name, "DEFAULT");
266         assertEquals("DEFAULT", value);
267     }
268 
269     @Test
270     void testGetEnvironmentVariablePresent() {
271         final String name = "PATH";
272         final String expected = System.getenv(name);
273         final String value = SystemUtils.getEnvironmentVariable(name, null);
274         assertEquals(expected, value);
275     }
276 
277     @Test
278     void testGetHostName() {
279         final String hostName = SystemUtils.getHostName();
280         final String expected = SystemUtils.IS_OS_WINDOWS ? System.getenv("COMPUTERNAME") : System.getenv("HOSTNAME");
281         assertEquals(expected, hostName);
282     }
283 
284     /**
285      * Assumes no security manager exists.
286      */
287     @Test
288     void testGetJavaHome() {
289         final File dir = SystemUtils.getJavaHome();
290         assertNotNull(dir);
291         assertTrue(dir.exists());
292     }
293 
294     /**
295      * Assumes no security manager exists.
296      */
297     @Test
298     void testGetJavaHomePath() {
299         final Path dir = SystemUtils.getJavaHomePath();
300         assertNotNull(dir);
301         assertTrue(Files.exists(dir));
302     }
303 
304     /**
305      * Assumes no security manager exists.
306      */
307     @Test
308     void testGetJavaIoTmpDir() {
309         final File dir = SystemUtils.getJavaIoTmpDir();
310         assertNotNull(dir);
311         assertTrue(dir.exists());
312     }
313 
314     /**
315      * Assumes no security manager exists.
316      */
317     @Test
318     void testGetJavaIoTmpDirPath() {
319         final Path dir = SystemUtils.getJavaIoTmpDirPath();
320         assertNotNull(dir);
321         assertTrue(Files.exists(dir));
322     }
323 
324     /**
325      * Assumes no security manager exists.
326      */
327     @Test
328     void testGetUserDir() {
329         final File dir = SystemUtils.getUserDir();
330         assertNotNull(dir);
331         assertTrue(dir.exists());
332     }
333 
334     /**
335      * Assumes no security manager exists.
336      */
337     @Test
338     void testGetUserDirPath() {
339         final Path dir = SystemUtils.getUserDirPath();
340         assertNotNull(dir);
341         assertTrue(Files.exists(dir));
342     }
343 
344     /**
345      * Assumes no security manager exists.
346      */
347     @Test
348     void testGetUserHome() {
349         final File dir = SystemUtils.getUserHome();
350         assertNotNull(dir);
351         assertTrue(dir.exists());
352     }
353 
354     /**
355      * Assumes no security manager exists.
356      */
357     @Test
358     void testGetUserHomePath() {
359         final Path dir = SystemUtils.getUserHomePath();
360         assertNotNull(dir);
361         assertTrue(Files.exists(dir));
362     }
363 
364     /**
365      * Assumes no security manager exists.
366      */
367     @Test
368     void testGetUserName() {
369         assertEquals(System.getProperty("user.name"), SystemUtils.getUserName());
370         // Don't overwrite the system property in this test in case something goes awfully wrong.
371         assertEquals(System.getProperty("user.name", "foo"), SystemUtils.getUserName("foo"));
372     }
373 
374     @Test
375     void testIsJavaVersionAtLeast() {
376         if (SystemUtils.IS_JAVA_1_8) {
377             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
378             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
379             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
380             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
381             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
382             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
383             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
384             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
385             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
386             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
387             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
388             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
389             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
390             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
391             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
392             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
393             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
394             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
395             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
396             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
397             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
398             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
399             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
400             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
401             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
402             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
403             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
404         } else if (SystemUtils.IS_JAVA_9) {
405             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
406             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
407             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
408             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
409             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
410             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
411             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
412             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
413             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
414             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
415             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
416             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
417             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
418             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
419             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
420             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
421             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
422             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
423             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
424             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
425             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
426             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
427             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
428             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
429             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
430             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
431             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
432         } else if (SystemUtils.IS_JAVA_10) {
433             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
434             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
435             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
436             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
437             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
438             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
439             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
440             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
441             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
442             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
443             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
444             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
445             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
446             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
447             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
448             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
449             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
450             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
451             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
452             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
453             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
454             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
455             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
456             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
457             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
458             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
459             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
460         } else if (SystemUtils.IS_JAVA_11) {
461             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
462             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
463             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
464             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
465             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
466             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
467             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
468             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
469             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
470             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
471             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
472             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
473             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
474             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
475             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
476             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
477             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
478             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
479             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
480             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
481             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
482             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
483             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
484             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
485             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
486             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
487             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
488         } else if (SystemUtils.IS_JAVA_12) {
489             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
490             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
491             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
492             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
493             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
494             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
495             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
496             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
497             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
498             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
499             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
500             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
501             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
502             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
503             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
504             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
505             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
506             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
507             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
508             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
509             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
510             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
511             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
512             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
513             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
514             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
515             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
516         } else if (SystemUtils.IS_JAVA_13) {
517             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
518             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
519             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
520             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
521             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
522             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
523             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
524             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
525             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
526             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
527             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
528             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
529             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
530             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
531             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
532             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
533             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
534             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
535             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
536             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
537             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
538             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
539             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
540             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
541             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
542             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
543             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
544         } else if (SystemUtils.IS_JAVA_14) {
545             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
546             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
547             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
548             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
549             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
550             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
551             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
552             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
553             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
554             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
555             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
556             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
557             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
558             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
559             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
560             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
561             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
562             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
563             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
564             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
565             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
566             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
567             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
568             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
569             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
570             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
571             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
572         } else if (SystemUtils.IS_JAVA_15) {
573             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
574             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
575             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
576             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
577             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
578             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
579             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
580             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
581             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
582             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
583             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
584             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
585             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
586             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
587             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
588             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
589             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
590             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
591             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
592             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
593             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
594             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
595             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
596             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
597             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
598             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
599             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
600         } else if (SystemUtils.IS_JAVA_16) {
601             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
602             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
603             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
604             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
605             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
606             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
607             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
608             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
609             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
610             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
611             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
612             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
613             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
614             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
615             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
616             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
617             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
618             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
619             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
620             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
621             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
622             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
623             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
624             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
625             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
626             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
627             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
628         } else if (SystemUtils.IS_JAVA_17) {
629             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
630             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
631             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
632             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
633             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
634             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
635             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
636             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
637             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
638             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
639             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
640             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
641             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
642             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
643             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
644             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
645             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
646             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
647             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
648             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
649             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
650             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
651             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
652             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
653             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
654             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
655             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
656         } else if (SystemUtils.IS_JAVA_18) {
657             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
658             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
659             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
660             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
661             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
662             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
663             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
664             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
665             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
666             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
667             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
668             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
669             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
670             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
671             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
672             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
673             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
674             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
675             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
676             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
677             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
678             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
679             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
680             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
681             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
682             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
683             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
684         } else if (SystemUtils.IS_JAVA_19) {
685             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
686             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
687             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
688             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
689             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
690             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
691             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
692             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
693             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
694             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
695             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
696             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
697             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
698             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
699             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
700             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
701             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
702             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
703             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
704             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
705             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
706             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
707             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
708             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
709             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
710             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
711             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
712         } else if (SystemUtils.IS_JAVA_20) {
713             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
714             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
715             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
716             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
717             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
718             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
719             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
720             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
721             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
722             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
723             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
724             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
725             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
726             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
727             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
728             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
729             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
730             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
731             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
732             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
733             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
734             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
735             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
736             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
737             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
738             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
739             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
740         } else if (SystemUtils.IS_JAVA_21) {
741             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
742             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
743             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
744             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
745             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
746             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
747             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
748             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
749             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
750             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
751             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
752             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
753             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
754             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
755             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
756             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
757             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
758             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
759             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
760             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
761             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
762             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
763             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
764             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
765             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
766             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
767             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
768         } else if (SystemUtils.IS_JAVA_22) {
769             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
770             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
771             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
772             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
773             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
774             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
775             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
776             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
777             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
778             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
779             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
780             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
781             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
782             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
783             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
784             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
785             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
786             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
787             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
788             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
789             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
790             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
791             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
792             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
793             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
794             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
795             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
796         } else if (SystemUtils.IS_JAVA_23) {
797             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
798             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
799             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
800             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
801             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
802             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
803             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
804             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
805             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
806             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
807             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
808             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
809             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
810             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
811             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
812             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
813             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
814             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
815             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
816             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
817             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
818             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
819             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
820             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
821             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
822             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
823             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
824         } else if (SystemUtils.IS_JAVA_24) {
825             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
826             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
827             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
828             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
829             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
830             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
831             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
832             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
833             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
834             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
835             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
836             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
837             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
838             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
839             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
840             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
841             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
842             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
843             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
844             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
845             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
846             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
847             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
848             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
849             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
850             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
851             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
852         } else if (SystemUtils.IS_JAVA_25) {
853             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
854             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
855             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
856             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
857             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
858             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
859             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
860             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
861             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
862             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
863             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
864             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
865             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
866             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
867             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
868             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
869             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
870             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
871             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
872             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
873             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
874             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
875             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
876             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
877             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
878             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
879             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
880         } else if (SystemUtils.IS_JAVA_26) {
881             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
882             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
883             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
884             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
885             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
886             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
887             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
888             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
889             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
890             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
891             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
892             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
893             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
894             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
895             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
896             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
897             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
898             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
899             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
900             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
901             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
902             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
903             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
904             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
905             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
906             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
907             assertFalse(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
908         } else if (SystemUtils.IS_JAVA_27) {
909             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_1));
910             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_2));
911             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_3));
912             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_4));
913             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
914             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_6));
915             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7));
916             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8));
917             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_9));
918             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_10));
919             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_11));
920             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_12));
921             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_13));
922             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_14));
923             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_15));
924             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_16));
925             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_17));
926             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_18));
927             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_19));
928             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_20));
929             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_21));
930             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_22));
931             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_23));
932             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_24));
933             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_25));
934             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_26));
935             assertTrue(SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_27));
936         }
937     }
938 
939     @Test
940     void testIsJavaVersionAtMost() {
941         if (SystemUtils.IS_JAVA_1_8) {
942             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
943             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
944             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
945             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
946             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
947             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
948             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
949             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
950             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
951             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
952             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
953             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
954             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
955             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
956             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
957             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
958             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
959             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
960             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
961             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
962             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
963             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
964             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
965             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
966             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
967             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
968             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
969         } else if (SystemUtils.IS_JAVA_9) {
970             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
971             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
972             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
973             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
974             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
975             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
976             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
977             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
978             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
979             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
980             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
981             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
982             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
983             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
984             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
985             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
986             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
987             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
988             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
989             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
990             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
991             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
992             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
993             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
994             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
995             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
996             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
997             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
998         } else if (SystemUtils.IS_JAVA_10) {
999             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
1000             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
1001             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
1002             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
1003             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
1004             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
1005             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
1006             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
1007             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
1008             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
1009             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
1010             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
1011             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
1012             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
1013             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
1014             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
1015             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
1016             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
1017             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
1018             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
1019             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
1020             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
1021             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
1022             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
1023             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
1024             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
1025             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
1026         } else if (SystemUtils.IS_JAVA_11) {
1027             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
1028             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
1029             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
1030             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
1031             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
1032             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
1033             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
1034             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
1035             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
1036             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
1037             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
1038             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
1039             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
1040             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
1041             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
1042             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
1043             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
1044             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
1045             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
1046             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
1047             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
1048             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
1049             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
1050             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
1051             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
1052             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
1053             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
1054         } else if (SystemUtils.IS_JAVA_12) {
1055             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
1056             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
1057             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
1058             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
1059             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
1060             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
1061             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
1062             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
1063             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
1064             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
1065             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
1066             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
1067             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
1068             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
1069             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
1070             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
1071             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
1072             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
1073             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
1074             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
1075             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
1076             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
1077             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
1078             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
1079             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
1080             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
1081             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
1082         } else if (SystemUtils.IS_JAVA_13) {
1083             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
1084             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
1085             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
1086             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
1087             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
1088             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
1089             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
1090             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
1091             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
1092             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
1093             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
1094             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
1095             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
1096             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
1097             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
1098             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
1099             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
1100             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
1101             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
1102             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
1103             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
1104             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
1105             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
1106             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
1107             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
1108             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
1109             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
1110         } else if (SystemUtils.IS_JAVA_14) {
1111             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
1112             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
1113             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
1114             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
1115             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
1116             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
1117             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
1118             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
1119             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
1120             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
1121             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
1122             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
1123             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
1124             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
1125             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
1126             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
1127             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
1128             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
1129             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
1130             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
1131             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
1132             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
1133             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
1134             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
1135             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
1136             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
1137             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
1138         } else if (SystemUtils.IS_JAVA_15) {
1139             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
1140             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
1141             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
1142             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
1143             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
1144             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
1145             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
1146             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
1147             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
1148             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
1149             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
1150             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
1151             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
1152             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
1153             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
1154             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
1155             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
1156             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
1157             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
1158             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
1159             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
1160             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
1161             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
1162             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
1163             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
1164             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
1165             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
1166         } else if (SystemUtils.IS_JAVA_16) {
1167             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
1168             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
1169             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
1170             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
1171             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
1172             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
1173             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
1174             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
1175             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
1176             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
1177             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
1178             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
1179             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
1180             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
1181             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
1182             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
1183             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
1184             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
1185             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
1186             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
1187             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
1188             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
1189             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
1190             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
1191             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
1192             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
1193             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
1194         } else if (SystemUtils.IS_JAVA_17) {
1195             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
1196             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
1197             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
1198             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
1199             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
1200             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
1201             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
1202             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
1203             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
1204             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
1205             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
1206             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
1207             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
1208             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
1209             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
1210             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
1211             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
1212             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
1213             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
1214             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
1215             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
1216             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
1217             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
1218             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
1219             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
1220             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
1221             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
1222         } else if (SystemUtils.IS_JAVA_18) {
1223             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
1224             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
1225             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
1226             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
1227             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
1228             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
1229             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
1230             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
1231             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
1232             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
1233             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
1234             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
1235             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
1236             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
1237             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
1238             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
1239             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
1240             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
1241             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
1242             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
1243             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
1244             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
1245             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
1246             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
1247             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
1248             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
1249             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
1250         } else if (SystemUtils.IS_JAVA_19) {
1251             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
1252             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
1253             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
1254             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
1255             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
1256             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
1257             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
1258             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
1259             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
1260             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
1261             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
1262             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
1263             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
1264             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
1265             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
1266             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
1267             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
1268             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
1269             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
1270             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
1271             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
1272             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
1273             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
1274             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
1275             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
1276             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
1277             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
1278         } else if (SystemUtils.IS_JAVA_20) {
1279             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
1280             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
1281             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
1282             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
1283             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
1284             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
1285             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
1286             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
1287             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
1288             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
1289             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
1290             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
1291             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
1292             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
1293             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
1294             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
1295             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
1296             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
1297             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
1298             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
1299             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
1300             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
1301             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
1302             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
1303             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
1304             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
1305         } else if (SystemUtils.IS_JAVA_21) {
1306             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
1307             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
1308             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
1309             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
1310             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
1311             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
1312             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
1313             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
1314             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
1315             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
1316             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
1317             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
1318             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
1319             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
1320             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
1321             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
1322             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
1323             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
1324             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
1325             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
1326             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
1327             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
1328             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
1329             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
1330             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
1331             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
1332             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
1333         } else if (SystemUtils.IS_JAVA_22) {
1334             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
1335             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
1336             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
1337             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
1338             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
1339             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
1340             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
1341             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
1342             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
1343             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
1344             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
1345             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
1346             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
1347             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
1348             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
1349             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
1350             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
1351             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
1352             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
1353             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
1354             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
1355             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
1356             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
1357             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
1358             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
1359             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
1360             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
1361         } else if (SystemUtils.IS_JAVA_23) {
1362             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
1363             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
1364             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
1365             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
1366             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
1367             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
1368             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
1369             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
1370             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
1371             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
1372             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
1373             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
1374             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
1375             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
1376             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
1377             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
1378             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
1379             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
1380             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
1381             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
1382             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
1383             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
1384             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
1385             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
1386             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
1387             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
1388             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
1389         } else if (SystemUtils.IS_JAVA_24) {
1390             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
1391             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
1392             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
1393             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
1394             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
1395             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
1396             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
1397             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
1398             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
1399             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
1400             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
1401             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
1402             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
1403             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
1404             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
1405             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
1406             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
1407             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
1408             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
1409             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
1410             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
1411             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
1412             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
1413             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
1414             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
1415             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
1416             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
1417         } else if (SystemUtils.IS_JAVA_25) {
1418             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
1419             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
1420             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
1421             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
1422             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
1423             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
1424             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
1425             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
1426             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
1427             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
1428             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
1429             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
1430             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
1431             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
1432             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
1433             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
1434             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
1435             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
1436             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
1437             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
1438             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
1439             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
1440             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
1441             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
1442             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
1443             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
1444             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
1445         } else if (SystemUtils.IS_JAVA_26) {
1446             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
1447             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
1448             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
1449             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
1450             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
1451             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
1452             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
1453             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
1454             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
1455             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
1456             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
1457             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
1458             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
1459             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
1460             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
1461             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
1462             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
1463             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
1464             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
1465             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
1466             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
1467             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
1468             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
1469             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
1470             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
1471             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
1472             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
1473         } else if (SystemUtils.IS_JAVA_27) {
1474             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_1));
1475             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_2));
1476             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_3));
1477             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_4));
1478             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_5));
1479             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_6));
1480             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_7));
1481             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8));
1482             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_9));
1483             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_10));
1484             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_11));
1485             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_12));
1486             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_13));
1487             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_14));
1488             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_15));
1489             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_16));
1490             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_17));
1491             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_18));
1492             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_19));
1493             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_20));
1494             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_21));
1495             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_22));
1496             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_23));
1497             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_24));
1498             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_25));
1499             assertFalse(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_26));
1500             assertTrue(SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_27));
1501         }
1502     }
1503 
1504     @Test
1505     void testJavaAwtHeadless() {
1506         final String expectedStringValue = System.getProperty("java.awt.headless");
1507         final String expectedStringValueWithDefault = System.getProperty("java.awt.headless", "false");
1508         assertNotNull(expectedStringValueWithDefault);
1509         final boolean expectedValue = Boolean.parseBoolean(expectedStringValue);
1510         if (expectedStringValue != null) {
1511             assertEquals(expectedStringValue, SystemUtils.JAVA_AWT_HEADLESS);
1512         }
1513         assertEquals(expectedValue, SystemUtils.isJavaAwtHeadless());
1514         assertEquals(expectedStringValueWithDefault, "" + SystemUtils.isJavaAwtHeadless());
1515     }
1516 
1517     @Test
1518     void testJavaVersionMatches() {
1519         String javaVersion = null;
1520         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
1521         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
1522         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
1523         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
1524         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
1525         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
1526         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
1527         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
1528         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
1529         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
1530         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
1531         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
1532         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
1533         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
1534         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
1535         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
1536         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
1537         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
1538         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
1539         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
1540         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
1541         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
1542         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
1543         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
1544         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
1545         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
1546         javaVersion = "";
1547         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
1548         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
1549         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
1550         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
1551         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
1552         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
1553         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
1554         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
1555         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
1556         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
1557         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
1558         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
1559         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
1560         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
1561         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
1562         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
1563         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
1564         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
1565         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
1566         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
1567         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
1568         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
1569         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
1570         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
1571         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
1572         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
1573         javaVersion = "1.0";
1574         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
1575         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
1576         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
1577         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
1578         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
1579         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
1580         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
1581         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
1582         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
1583         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
1584         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
1585         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
1586         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
1587         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
1588         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
1589         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
1590         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
1591         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
1592         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
1593         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
1594         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
1595         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
1596         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
1597         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
1598         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
1599         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
1600         javaVersion = "1.1";
1601         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
1602         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
1603         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
1604         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
1605         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
1606         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
1607         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
1608         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
1609         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
1610         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
1611         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
1612         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
1613         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
1614         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
1615         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
1616         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
1617         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
1618         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
1619         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
1620         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
1621         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
1622         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
1623         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
1624         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
1625         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
1626         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
1627         javaVersion = "1.2";
1628         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
1629         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
1630         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
1631         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
1632         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
1633         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
1634         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
1635         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
1636         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
1637         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
1638         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
1639         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
1640         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
1641         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
1642         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
1643         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
1644         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
1645         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
1646         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
1647         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
1648         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
1649         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
1650         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
1651         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
1652         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
1653         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
1654         javaVersion = "1.3.0";
1655         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
1656         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
1657         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
1658         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
1659         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
1660         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
1661         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
1662         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
1663         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
1664         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
1665         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
1666         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
1667         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
1668         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
1669         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
1670         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
1671         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
1672         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
1673         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
1674         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
1675         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
1676         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
1677         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
1678         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
1679         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
1680         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
1681         javaVersion = "1.3.1";
1682         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
1683         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
1684         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
1685         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
1686         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
1687         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
1688         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
1689         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
1690         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
1691         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
1692         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
1693         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
1694         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
1695         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
1696         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
1697         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
1698         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
1699         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
1700         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
1701         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
1702         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
1703         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
1704         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
1705         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
1706         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
1707         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
1708         javaVersion = "1.4.0";
1709         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
1710         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
1711         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
1712         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
1713         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
1714         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
1715         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
1716         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
1717         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
1718         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
1719         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
1720         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
1721         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
1722         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
1723         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
1724         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
1725         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
1726         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
1727         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
1728         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
1729         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
1730         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
1731         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
1732         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
1733         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
1734         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
1735         javaVersion = "1.4.1";
1736         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
1737         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
1738         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
1739         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
1740         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
1741         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
1742         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
1743         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
1744         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
1745         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
1746         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
1747         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
1748         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
1749         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
1750         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
1751         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
1752         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
1753         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
1754         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
1755         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
1756         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
1757         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
1758         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
1759         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
1760         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
1761         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
1762         javaVersion = "1.4.2";
1763         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
1764         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
1765         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
1766         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
1767         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
1768         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
1769         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
1770         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
1771         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
1772         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
1773         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
1774         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
1775         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
1776         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
1777         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
1778         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
1779         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
1780         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
1781         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
1782         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
1783         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
1784         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
1785         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
1786         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
1787         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
1788         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
1789         javaVersion = "1.5.0";
1790         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
1791         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
1792         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
1793         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
1794         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
1795         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
1796         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
1797         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
1798         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
1799         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
1800         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
1801         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
1802         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
1803         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
1804         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
1805         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
1806         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
1807         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
1808         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
1809         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
1810         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
1811         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
1812         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
1813         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
1814         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
1815         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
1816         javaVersion = "1.6.0";
1817         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
1818         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
1819         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
1820         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
1821         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
1822         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
1823         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
1824         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
1825         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
1826         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
1827         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
1828         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
1829         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
1830         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
1831         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
1832         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
1833         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
1834         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
1835         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
1836         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
1837         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
1838         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
1839         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
1840         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
1841         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
1842         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
1843         javaVersion = "1.7.0";
1844         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
1845         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
1846         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
1847         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
1848         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
1849         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
1850         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
1851         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
1852         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
1853         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
1854         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
1855         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
1856         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
1857         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
1858         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
1859         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
1860         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
1861         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
1862         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
1863         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
1864         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
1865         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
1866         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
1867         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
1868         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
1869         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
1870         javaVersion = "1.8.0";
1871         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
1872         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
1873         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
1874         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
1875         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
1876         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
1877         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
1878         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
1879         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
1880         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
1881         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
1882         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
1883         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
1884         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
1885         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
1886         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
1887         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
1888         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
1889         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
1890         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
1891         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
1892         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
1893         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
1894         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
1895         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
1896         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
1897         javaVersion = "9";
1898         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
1899         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
1900         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
1901         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
1902         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
1903         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
1904         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
1905         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
1906         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
1907         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
1908         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
1909         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
1910         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
1911         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
1912         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
1913         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
1914         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
1915         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
1916         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
1917         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
1918         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
1919         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
1920         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
1921         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
1922         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
1923         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
1924         javaVersion = "10";
1925         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
1926         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
1927         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
1928         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
1929         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
1930         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
1931         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
1932         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
1933         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
1934         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
1935         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
1936         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
1937         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
1938         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
1939         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
1940         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
1941         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
1942         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
1943         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
1944         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
1945         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
1946         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
1947         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
1948         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
1949         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
1950         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
1951         javaVersion = "11"; // LTS
1952         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
1953         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
1954         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
1955         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
1956         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
1957         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
1958         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
1959         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
1960         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
1961         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
1962         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
1963         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
1964         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
1965         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
1966         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
1967         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
1968         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
1969         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
1970         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
1971         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
1972         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
1973         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
1974         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
1975         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
1976         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
1977         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
1978         javaVersion = "17"; // LTS
1979         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
1980         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
1981         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
1982         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
1983         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
1984         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
1985         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
1986         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
1987         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
1988         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
1989         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
1990         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
1991         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
1992         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
1993         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
1994         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
1995         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
1996         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
1997         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
1998         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
1999         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
2000         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
2001         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
2002         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
2003         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
2004         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
2005         javaVersion = "21"; // LTS
2006         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
2007         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
2008         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
2009         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
2010         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
2011         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
2012         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
2013         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
2014         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
2015         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
2016         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
2017         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
2018         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
2019         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
2020         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
2021         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
2022         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
2023         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
2024         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
2025         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
2026         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
2027         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
2028         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
2029         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
2030         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
2031         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
2032         javaVersion = "22";
2033         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
2034         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
2035         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
2036         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
2037         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
2038         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
2039         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
2040         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
2041         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
2042         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
2043         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
2044         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
2045         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
2046         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
2047         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
2048         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
2049         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
2050         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
2051         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
2052         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
2053         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
2054         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
2055         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
2056         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
2057         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
2058         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
2059         javaVersion = "23";
2060         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
2061         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
2062         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
2063         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
2064         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
2065         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
2066         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
2067         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
2068         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
2069         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
2070         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
2071         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
2072         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
2073         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
2074         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
2075         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
2076         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
2077         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
2078         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
2079         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
2080         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
2081         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
2082         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
2083         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
2084         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
2085         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
2086         javaVersion = "24";
2087         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
2088         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
2089         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
2090         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
2091         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
2092         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
2093         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
2094         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
2095         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
2096         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
2097         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
2098         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
2099         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
2100         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
2101         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
2102         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
2103         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
2104         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
2105         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
2106         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
2107         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
2108         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
2109         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
2110         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
2111         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
2112         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
2113         javaVersion = "25";
2114         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
2115         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
2116         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
2117         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
2118         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
2119         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
2120         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
2121         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
2122         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
2123         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
2124         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "10"));
2125         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "11"));
2126         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "12"));
2127         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "13"));
2128         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "14"));
2129         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "15"));
2130         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "16"));
2131         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "17"));
2132         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "18"));
2133         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "19"));
2134         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "20"));
2135         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "21"));
2136         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "22"));
2137         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "23"));
2138         assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "24"));
2139         assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "25"));
2140     }
2141 
2142     @Test
2143     void testOSMatchesName() {
2144         String osName = null;
2145         assertFalse(SystemUtils.isOsNameMatch(osName, "Windows"));
2146         osName = "";
2147         assertFalse(SystemUtils.isOsNameMatch(osName, "Windows"));
2148         osName = "Windows 95";
2149         assertTrue(SystemUtils.isOsNameMatch(osName, "Windows"));
2150         osName = "Windows NT";
2151         assertTrue(SystemUtils.isOsNameMatch(osName, "Windows"));
2152         osName = "OS/2";
2153         assertFalse(SystemUtils.isOsNameMatch(osName, "Windows"));
2154     }
2155 
2156     @Test
2157     void testOSMatchesNameAndVersion() {
2158         String osName = null;
2159         String osVersion = null;
2160         assertFalse(SystemUtils.isOsMatch(osName, osVersion, "Windows 9", "4.1"));
2161         osName = "";
2162         osVersion = "";
2163         assertFalse(SystemUtils.isOsMatch(osName, osVersion, "Windows 9", "4.1"));
2164         osName = "Windows 95";
2165         osVersion = "4.0";
2166         assertFalse(SystemUtils.isOsMatch(osName, osVersion, "Windows 9", "4.1"));
2167         osName = "Windows 95";
2168         osVersion = "4.1";
2169         assertTrue(SystemUtils.isOsMatch(osName, osVersion, "Windows 9", "4.1"));
2170         osName = "Windows 98";
2171         osVersion = "4.1";
2172         assertTrue(SystemUtils.isOsMatch(osName, osVersion, "Windows 9", "4.1"));
2173         osName = "Windows NT";
2174         osVersion = "4.0";
2175         assertFalse(SystemUtils.isOsMatch(osName, osVersion, "Windows 9", "4.1"));
2176         osName = "OS/2";
2177         osVersion = "4.0";
2178         assertFalse(SystemUtils.isOsMatch(osName, osVersion, "Windows 9", "4.1"));
2179     }
2180 
2181     @Test
2182     void testOsVersionMatches() {
2183         String osVersion = null;
2184         assertFalse(SystemUtils.isOsVersionMatch(osVersion, "10.1"));
2185         osVersion = "";
2186         assertFalse(SystemUtils.isOsVersionMatch(osVersion, "10.1"));
2187         osVersion = "10";
2188         assertTrue(SystemUtils.isOsVersionMatch(osVersion, "10.1"));
2189         assertTrue(SystemUtils.isOsVersionMatch(osVersion, "10.1.1"));
2190         assertTrue(SystemUtils.isOsVersionMatch(osVersion, "10.10"));
2191         assertTrue(SystemUtils.isOsVersionMatch(osVersion, "10.10.1"));
2192         osVersion = "10.1";
2193         assertTrue(SystemUtils.isOsVersionMatch(osVersion, "10.1"));
2194         assertTrue(SystemUtils.isOsVersionMatch(osVersion, "10.1.1"));
2195         assertFalse(SystemUtils.isOsVersionMatch(osVersion, "10.10"));
2196         assertFalse(SystemUtils.isOsVersionMatch(osVersion, "10.10.1"));
2197         osVersion = "10.1.1";
2198         assertTrue(SystemUtils.isOsVersionMatch(osVersion, "10.1"));
2199         assertTrue(SystemUtils.isOsVersionMatch(osVersion, "10.1.1"));
2200         assertFalse(SystemUtils.isOsVersionMatch(osVersion, "10.10"));
2201         assertFalse(SystemUtils.isOsVersionMatch(osVersion, "10.10.1"));
2202         osVersion = "10.10";
2203         assertFalse(SystemUtils.isOsVersionMatch(osVersion, "10.1"));
2204         assertFalse(SystemUtils.isOsVersionMatch(osVersion, "10.1.1"));
2205         assertTrue(SystemUtils.isOsVersionMatch(osVersion, "10.10"));
2206         assertTrue(SystemUtils.isOsVersionMatch(osVersion, "10.10.1"));
2207         osVersion = "10.10.1";
2208         assertFalse(SystemUtils.isOsVersionMatch(osVersion, "10.1"));
2209         assertFalse(SystemUtils.isOsVersionMatch(osVersion, "10.1.1"));
2210         assertTrue(SystemUtils.isOsVersionMatch(osVersion, "10.10"));
2211         assertTrue(SystemUtils.isOsVersionMatch(osVersion, "10.10.1"));
2212     }
2213 }