package de.saring.util.gui.javafx; import static org.junit.Assert.assertEquals; import java.time.LocalTime; import java.time.format.DateTimeParseException; import org.junit.Test; /** * Unit tests of class TimeToStringConverter. * * @author Stefan Saring */ public class TimeToStringConverterTest { private static final TimeToStringConverter CONVERTER = new TimeToStringConverter(); /** * Tests of method toString(). */ @Test public void testToString() { assertEquals("", CONVERTER.toString(null)); assertEquals("00:00", CONVERTER.toString(LocalTime.of(0, 0))); assertEquals("00:59", CONVERTER.toString(LocalTime.of(0, 59))); assertEquals("23:59", CONVERTER.toString(LocalTime.of(23, 59))); } /** * Tests of method fromString(): all conversions are successful. */ @Test public void testFromStringSuccess() { assertEquals(LocalTime.of(0, 0), CONVERTER.fromString("0:0")); assertEquals(LocalTime.of(0, 0), CONVERTER.fromString("00:00")); assertEquals(LocalTime.of(0, 0), CONVERTER.fromString("24:0")); assertEquals(LocalTime.of(5, 5), CONVERTER.fromString("5:5")); assertEquals(LocalTime.of(23, 59), CONVERTER.fromString("23:59")); } /** * Tests of method fromString(): conversion must fail for invalid time values. */ @Test(expected = DateTimeParseException.class) public void testFromStringFailedInvalidTime() { CONVERTER.fromString("24:62"); } /** * Tests of method fromString(): conversion must fail for no time values. */ @Test(expected = DateTimeParseException.class) public void testFromStringFailedNoTime() { CONVERTER.fromString("foo:bar"); } /** * Tests of method fromString(): conversion must fail when minutes are missing. */ @Test(expected = DateTimeParseException.class) public void testFromStringFailedNoMinutes() { CONVERTER.fromString("10:"); } }