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 * http://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 package org.apache.commons.lang3; 20 21 import static org.apache.commons.lang3.JavaVersion.JAVA_0_9; 22 import static org.apache.commons.lang3.JavaVersion.JAVA_10; 23 import static org.apache.commons.lang3.JavaVersion.JAVA_11; 24 import static org.apache.commons.lang3.JavaVersion.JAVA_12; 25 import static org.apache.commons.lang3.JavaVersion.JAVA_13; 26 import static org.apache.commons.lang3.JavaVersion.JAVA_14; 27 import static org.apache.commons.lang3.JavaVersion.JAVA_15; 28 import static org.apache.commons.lang3.JavaVersion.JAVA_16; 29 import static org.apache.commons.lang3.JavaVersion.JAVA_17; 30 import static org.apache.commons.lang3.JavaVersion.JAVA_18; 31 import static org.apache.commons.lang3.JavaVersion.JAVA_1_1; 32 import static org.apache.commons.lang3.JavaVersion.JAVA_1_2; 33 import static org.apache.commons.lang3.JavaVersion.JAVA_1_3; 34 import static org.apache.commons.lang3.JavaVersion.JAVA_1_4; 35 import static org.apache.commons.lang3.JavaVersion.JAVA_1_5; 36 import static org.apache.commons.lang3.JavaVersion.JAVA_1_6; 37 import static org.apache.commons.lang3.JavaVersion.JAVA_1_7; 38 import static org.apache.commons.lang3.JavaVersion.JAVA_1_8; 39 import static org.apache.commons.lang3.JavaVersion.JAVA_9; 40 import static org.apache.commons.lang3.JavaVersion.JAVA_RECENT; 41 import static org.apache.commons.lang3.JavaVersion.get; 42 import static org.apache.commons.lang3.JavaVersion.getJavaVersion; 43 import static org.junit.jupiter.api.Assertions.assertEquals; 44 import static org.junit.jupiter.api.Assertions.assertFalse; 45 import static org.junit.jupiter.api.Assertions.assertTrue; 46 47 import org.junit.jupiter.api.Test; 48 49 /** 50 * Unit tests {@link org.apache.commons.lang3.JavaVersion}. 51 */ 52 public class JavaVersionTest extends AbstractLangTest { 53 54 @Test testGetJavaVersion()55 public void testGetJavaVersion() { 56 assertEquals(JAVA_0_9, get("0.9"), "0.9 failed"); 57 assertEquals(JAVA_1_1, get("1.1"), "1.1 failed"); 58 assertEquals(JAVA_1_2, get("1.2"), "1.2 failed"); 59 assertEquals(JAVA_1_3, get("1.3"), "1.3 failed"); 60 assertEquals(JAVA_1_4, get("1.4"), "1.4 failed"); 61 assertEquals(JAVA_1_5, get("1.5"), "1.5 failed"); 62 assertEquals(JAVA_1_6, get("1.6"), "1.6 failed"); 63 assertEquals(JAVA_1_7, get("1.7"), "1.7 failed"); 64 assertEquals(JAVA_1_8, get("1.8"), "1.8 failed"); 65 assertEquals(JAVA_9, get("9"), "9 failed"); 66 assertEquals(JAVA_10, get("10"), "10 failed"); 67 assertEquals(JAVA_11, get("11"), "11 failed"); 68 assertEquals(JAVA_12, get("12"), "12 failed"); 69 assertEquals(JAVA_13, get("13"), "13 failed"); 70 assertEquals(JAVA_14, get("14"), "14 failed"); 71 assertEquals(JAVA_15, get("15"), "15 failed"); 72 assertEquals(JAVA_16, get("16"), "16 failed"); 73 assertEquals(JAVA_17, get("17"), "17 failed"); 74 assertEquals(JAVA_18, get("18"), "18 failed"); 75 assertEquals(JAVA_RECENT, get("1.10"), "1.10 failed"); 76 // assertNull("2.10 unexpectedly worked", get("2.10")); 77 assertEquals(get("1.5"), getJavaVersion("1.5"), "Wrapper method failed"); 78 assertEquals(JAVA_RECENT, get("19"), "Unhandled"); // LANG-1384 79 } 80 81 @Test testAtLeast()82 public void testAtLeast() { 83 assertFalse(JAVA_1_2.atLeast(JAVA_1_5), "1.2 at least 1.5 passed"); 84 assertTrue(JAVA_1_5.atLeast(JAVA_1_2), "1.5 at least 1.2 failed"); 85 assertFalse(JAVA_1_6.atLeast(JAVA_1_7), "1.6 at least 1.7 passed"); 86 87 assertTrue(JAVA_0_9.atLeast(JAVA_1_5), "0.9 at least 1.5 failed"); 88 assertFalse(JAVA_0_9.atLeast(JAVA_1_6), "0.9 at least 1.6 passed"); 89 } 90 91 @Test testToString()92 public void testToString() { 93 assertEquals("1.2", JAVA_1_2.toString()); 94 } 95 96 } 97