1704d59a9e57b28939ba5c709cf4b50d72aa072e6Christian Williamspackage org.robolectric; 21021315c11e619e0735bea1349e04023178c4067Alexander Blom 3851f2a9519be23c73a9e2929128179b405e2e7a6Christian Williamsimport static org.assertj.core.api.Assertions.assertThat; 4851f2a9519be23c73a9e2929128179b405e2e7a6Christian Williams 51021315c11e619e0735bea1349e04023178c4067Alexander Blomimport org.junit.Test; 6879371277af60d57148eefb24fd046a6a30e4683christianwimport org.junit.runner.RunWith; 7879371277af60d57148eefb24fd046a6a30e4683christianwimport org.junit.runners.JUnit4; 81021315c11e619e0735bea1349e04023178c4067Alexander Blomimport org.robolectric.util.JavaVersion; 91021315c11e619e0735bea1349e04023178c4067Alexander Blom 10879371277af60d57148eefb24fd046a6a30e4683christianw@RunWith(JUnit4.class) 111021315c11e619e0735bea1349e04023178c4067Alexander Blompublic class JavaVersionTest { 121021315c11e619e0735bea1349e04023178c4067Alexander Blom @Test 131021315c11e619e0735bea1349e04023178c4067Alexander Blom public void jdk8() { 141021315c11e619e0735bea1349e04023178c4067Alexander Blom check("1.8.1u40", "1.8.5u60"); 151021315c11e619e0735bea1349e04023178c4067Alexander Blom check("1.8.0u40", "1.8.0u60"); 161021315c11e619e0735bea1349e04023178c4067Alexander Blom check("1.8.0u40", "1.8.0u100"); 171021315c11e619e0735bea1349e04023178c4067Alexander Blom } 181021315c11e619e0735bea1349e04023178c4067Alexander Blom 191021315c11e619e0735bea1349e04023178c4067Alexander Blom @Test 201021315c11e619e0735bea1349e04023178c4067Alexander Blom public void jdk9() { 211021315c11e619e0735bea1349e04023178c4067Alexander Blom check("9.0.1+12", "9.0.2+12"); 221021315c11e619e0735bea1349e04023178c4067Alexander Blom check("9.0.2+60", "9.0.2+100"); 231021315c11e619e0735bea1349e04023178c4067Alexander Blom } 241021315c11e619e0735bea1349e04023178c4067Alexander Blom 251021315c11e619e0735bea1349e04023178c4067Alexander Blom @Test 261021315c11e619e0735bea1349e04023178c4067Alexander Blom public void differentJdk() { 271021315c11e619e0735bea1349e04023178c4067Alexander Blom check("1.7.0", "1.8.0u60"); 281021315c11e619e0735bea1349e04023178c4067Alexander Blom check("1.8.1u40", "9.0.2+12"); 291021315c11e619e0735bea1349e04023178c4067Alexander Blom } 301021315c11e619e0735bea1349e04023178c4067Alexander Blom 311021315c11e619e0735bea1349e04023178c4067Alexander Blom @Test 321021315c11e619e0735bea1349e04023178c4067Alexander Blom public void longer() { 331021315c11e619e0735bea1349e04023178c4067Alexander Blom check("1.8.0", "1.8.0.1"); 341021315c11e619e0735bea1349e04023178c4067Alexander Blom } 351021315c11e619e0735bea1349e04023178c4067Alexander Blom 361021315c11e619e0735bea1349e04023178c4067Alexander Blom @Test 371021315c11e619e0735bea1349e04023178c4067Alexander Blom public void longerEquality() { 381021315c11e619e0735bea1349e04023178c4067Alexander Blom checkEqual("1.8.0", "1.8.0"); 391021315c11e619e0735bea1349e04023178c4067Alexander Blom checkEqual("1.8.0u33", "1.8.0u33"); 401021315c11e619e0735bea1349e04023178c4067Alexander Blom checkEqual("5", "5"); 411021315c11e619e0735bea1349e04023178c4067Alexander Blom } 421021315c11e619e0735bea1349e04023178c4067Alexander Blom 431021315c11e619e0735bea1349e04023178c4067Alexander Blom private static void check(String v1, String v2) { 441021315c11e619e0735bea1349e04023178c4067Alexander Blom assertThat(new JavaVersion(v1).compareTo(new JavaVersion(v2))).isNegative(); 451021315c11e619e0735bea1349e04023178c4067Alexander Blom } 461021315c11e619e0735bea1349e04023178c4067Alexander Blom 471021315c11e619e0735bea1349e04023178c4067Alexander Blom private static void checkEqual(String v1, String v2) { 481021315c11e619e0735bea1349e04023178c4067Alexander Blom assertThat(new JavaVersion(v1).compareTo(new JavaVersion(v2))).isZero(); 491021315c11e619e0735bea1349e04023178c4067Alexander Blom } 501021315c11e619e0735bea1349e04023178c4067Alexander Blom 511021315c11e619e0735bea1349e04023178c4067Alexander Blom}