package nodebox.versioncheck;
import org.junit.Test;
import static junit.framework.TestCase.*;
public class VersionTest {
private static final int LARGER_THAN = 1;
private static final int EQUAL = 0;
private static final int SMALLER_THAN = -1;
@Test
public void testBasic() {
Version v1 = new Version("2.0");
assertEquals(LARGER_THAN, v1.compareTo(new Version("1.0")));
assertEquals(SMALLER_THAN, v1.compareTo(new Version("3.0")));
assertEquals(LARGER_THAN, v1.compareTo(new Version("1.9.9")));
assertEquals(SMALLER_THAN, v1.compareTo(new Version("2.1")));
assertEquals(SMALLER_THAN, v1.compareTo(new Version("2.0.0.1")));
Version v2 = new Version("0.1.2.3");
assertEquals(LARGER_THAN, v2.compareTo(new Version("0")));
assertEquals(LARGER_THAN, v2.compareTo(new Version("0.0")));
assertEquals(LARGER_THAN, v2.compareTo(new Version("0.0.0.1")));
assertEquals(LARGER_THAN, v2.compareTo(new Version("0.1.2.1")));
assertEquals(SMALLER_THAN, v2.compareTo(new Version("0.1.2.4")));
assertEquals(SMALLER_THAN, v2.compareTo(new Version("0.2.1.1")));
assertEquals(SMALLER_THAN, v2.compareTo(new Version("0.1.2.3.4")));
assertEquals(EQUAL, v2.compareTo(new Version("0.1.2.3")));
Version v3 = new Version("1.2.3.snapshot");
assertEquals(LARGER_THAN, v3.compareTo(new Version("0")));
assertEquals(LARGER_THAN, v3.compareTo(new Version("1.2.3")));
assertEquals(LARGER_THAN, v3.compareTo(new Version("1.2.3.99")));
assertEquals(SMALLER_THAN, v3.compareTo(new Version("1.2.3.snapshot.9")));
assertEquals(SMALLER_THAN, v3.compareTo(new Version("hello")));
}
}