package org.robolectric;
import org.junit.Test;
import org.robolectric.util.JavaVersion;
import static org.assertj.core.api.Assertions.assertThat;
public class JavaVersionTest {
@Test
public void jdk8() {
check("1.8.1u40", "1.8.5u60");
check("1.8.0u40", "1.8.0u60");
check("1.8.0u40", "1.8.0u100");
}
@Test
public void jdk9() {
check("9.0.1+12", "9.0.2+12");
check("9.0.2+60", "9.0.2+100");
}
@Test
public void differentJdk() {
check("1.7.0", "1.8.0u60");
check("1.8.1u40", "9.0.2+12");
}
@Test
public void longer() {
check("1.8.0", "1.8.0.1");
}
@Test
public void longerEquality() {
checkEqual("1.8.0", "1.8.0");
checkEqual("1.8.0u33", "1.8.0u33");
checkEqual("5", "5");
}
private static void check(String v1, String v2) {
assertThat(new JavaVersion(v1).compareTo(new JavaVersion(v2))).isNegative();
}
private static void checkEqual(String v1, String v2) {
assertThat(new JavaVersion(v1).compareTo(new JavaVersion(v2))).isZero();
}
}