package net.rrm.ehour.update;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
public class VersionNumberSanitizerTest {
@Test
public void should_convert_1_0_0_to_1000() {
assertEquals(1000, VersionNumberSanitizer.sanitize("1.0.0").get().intValue());
}
@Test
public void should_discard_any_non_numbers() {
assertEquals(1000, VersionNumberSanitizer.sanitize("1.0.0XX").get().intValue());
}
@Test
public void should_discard_SNAPSHOT() {
assertEquals(1000, VersionNumberSanitizer.sanitize("1.0.0-SNAPSHOT").get().intValue());
}
@Test
public void should_append_0_for_short_version_numbers() {
assertEquals(1300, VersionNumberSanitizer.sanitize("1.3").get().intValue());
}
@Test
public void should_convert_1_2_2_21_to_1221() {
assertEquals(1221, VersionNumberSanitizer.sanitize("1.2.2.1").get().intValue());
}
@Test
public void should_not_trip_on_invalid_numbers() {
assertFalse(VersionNumberSanitizer.sanitize("xxx").isPresent());
}
@Test
public void should_handle_nulls() {
assertFalse(VersionNumberSanitizer.sanitize(null).isPresent());
}
}