package com.hazelcast.internal.util; import com.hazelcast.test.HazelcastSerialClassRunner; import com.hazelcast.test.HazelcastTestSupport; import com.hazelcast.test.annotation.ParallelTest; import com.hazelcast.test.annotation.QuickTest; import org.junit.Test; import org.junit.experimental.categories.Category; import org.junit.runner.RunWith; import static com.hazelcast.internal.util.JavaVersion.JAVA_1_6; import static com.hazelcast.internal.util.JavaVersion.JAVA_1_7; import static com.hazelcast.internal.util.JavaVersion.JAVA_1_8; import static com.hazelcast.internal.util.JavaVersion.JAVA_1_9; import static com.hazelcast.internal.util.JavaVersion.UNKNOWN; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @RunWith(HazelcastSerialClassRunner.class) @Category({QuickTest.class, ParallelTest.class}) public class JavaVersionTest extends HazelcastTestSupport { @Test public void parseVersion() throws Exception { assertEquals(UNKNOWN, JavaVersion.parseVersion("foo")); assertEquals(JAVA_1_6, JavaVersion.parseVersion("1.6")); assertEquals(JAVA_1_7, JavaVersion.parseVersion("1.7")); assertEquals(JAVA_1_8, JavaVersion.parseVersion("1.8")); assertEquals(JAVA_1_9, JavaVersion.parseVersion("9-ea")); assertEquals(JAVA_1_9, JavaVersion.parseVersion("9")); } @Test public void testIsAtLeast_unknown() { assertTrue(JavaVersion.isAtLeast(UNKNOWN, UNKNOWN)); assertFalse(JavaVersion.isAtLeast(UNKNOWN, JAVA_1_6)); assertFalse(JavaVersion.isAtLeast(UNKNOWN, JAVA_1_7)); assertFalse(JavaVersion.isAtLeast(UNKNOWN, JAVA_1_8)); assertFalse(JavaVersion.isAtLeast(UNKNOWN, JAVA_1_9)); } @Test public void testIsAtLeast_1_6() { assertTrue(JavaVersion.isAtLeast(JAVA_1_6, UNKNOWN)); assertTrue(JavaVersion.isAtLeast(JAVA_1_6, JAVA_1_6)); assertFalse(JavaVersion.isAtLeast(JAVA_1_6, JAVA_1_7)); assertFalse(JavaVersion.isAtLeast(JAVA_1_6, JAVA_1_8)); assertFalse(JavaVersion.isAtLeast(JAVA_1_6, JAVA_1_9)); } @Test public void testIsAtLeast_1_7() { assertTrue(JavaVersion.isAtLeast(JAVA_1_7, UNKNOWN)); assertTrue(JavaVersion.isAtLeast(JAVA_1_7, JAVA_1_6)); assertTrue(JavaVersion.isAtLeast(JAVA_1_7, JAVA_1_7)); assertFalse(JavaVersion.isAtLeast(JAVA_1_7, JAVA_1_8)); assertFalse(JavaVersion.isAtLeast(JAVA_1_7, JAVA_1_9)); } @Test public void testIsAtLeast_1_8() { assertTrue(JavaVersion.isAtLeast(JAVA_1_8, UNKNOWN)); assertTrue(JavaVersion.isAtLeast(JAVA_1_8, JAVA_1_6)); assertTrue(JavaVersion.isAtLeast(JAVA_1_8, JAVA_1_7)); assertTrue(JavaVersion.isAtLeast(JAVA_1_8, JAVA_1_8)); assertFalse(JavaVersion.isAtLeast(JAVA_1_8, JAVA_1_9)); } @Test public void testIsAtLeast_1_9() { assertTrue(JavaVersion.isAtLeast(JAVA_1_9, UNKNOWN)); assertTrue(JavaVersion.isAtLeast(JAVA_1_9, JAVA_1_6)); assertTrue(JavaVersion.isAtLeast(JAVA_1_9, JAVA_1_7)); assertTrue(JavaVersion.isAtLeast(JAVA_1_9, JAVA_1_8)); assertTrue(JavaVersion.isAtLeast(JAVA_1_9, JAVA_1_9)); } }