SevdanurGenc's picture
Upload 300 files
9438a57 verified
Raw History Blame Contribute Delete
2.13 kB
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class SemVerTest {
@Test void parseAndToString() {
assertEquals("1.2.3", SemVer.parse("1.2.3").toString());
assertEquals("1.0.0-rc.1", SemVer.parse(" 1.0.0-rc.1 ").toString());
}
@Test void parseRejectsBadInput() {
assertThrows(IllegalArgumentException.class, () -> SemVer.parse(""));
assertThrows(IllegalArgumentException.class, () -> SemVer.parse(null));
assertThrows(IllegalArgumentException.class, () -> SemVer.parse("1.2"));
assertThrows(IllegalArgumentException.class, () -> SemVer.parse("1.2.3.4"));
assertThrows(IllegalArgumentException.class, () -> SemVer.parse("1.x.3"));
}
@Test void negativeRejected() {
assertThrows(IllegalArgumentException.class, () -> new SemVer(1, -1, 0, null));
}
@Test void bumps() {
SemVer v = SemVer.parse("1.4.7-beta");
assertEquals("2.0.0", v.bumpMajor().toString());
assertEquals("1.5.0", v.bumpMinor().toString());
assertEquals("1.4.8", v.bumpPatch().toString());
}
@Test void numericOrdering() {
assertTrue(SemVer.parse("1.10.0").compareTo(SemVer.parse("1.9.9")) > 0);
assertTrue(SemVer.parse("2.0.0").compareTo(SemVer.parse("10.0.0")) < 0);
assertTrue(SemVer.parse("1.0.1").compareTo(SemVer.parse("1.0.0")) > 0);
}
@Test void preReleaseComesBeforeRelease() {
assertTrue(SemVer.parse("1.0.0-rc.1").compareTo(SemVer.parse("1.0.0")) < 0);
assertTrue(SemVer.parse("1.0.0").compareTo(SemVer.parse("1.0.0-alpha")) > 0);
assertTrue(SemVer.parse("1.0.0-alpha").compareTo(SemVer.parse("1.0.0-beta")) < 0);
}
@Test void equalityAndPreReleaseFlag() {
assertEquals(SemVer.parse("1.2.3"), new SemVer(1, 2, 3, ""));
assertNotEquals(SemVer.parse("1.2.3"), SemVer.parse("1.2.3-rc"));
assertEquals(SemVer.parse("1.2.3").hashCode(), new SemVer(1, 2, 3, null).hashCode());
assertTrue(SemVer.parse("1.0.0-rc").isPreRelease());
assertFalse(SemVer.parse("1.0.0").isPreRelease());
}
}