public static OrgEffortTime parseOrNull(String string) { if (string == null) { return null; } String[] hhmm = string.split(":"); if (hhmm.length != 2) { return null; } int hours; int minutes; try { hours = hhmm[0].isEmpty() ? 0 : Integer.parseInt(hhmm[0]); minutes = Integer.parseInt(hhmm[1]); } catch (NumberFormatException e) { return null; } return new OrgEffortTime(hours, minutes); } }
@Test public void getTotalMinutes() { OrgEffortTime t = new OrgEffortTime(5, 10); assertEquals(310, t.getTotalMinutes()); }
@Test public void parse() { OrgEffortTime t = OrgEffortTime.parseOrNull("1:00"); assertEquals(60, t.getTotalMinutes()); t = OrgEffortTime.parseOrNull("0:45"); assertEquals(45, t.getTotalMinutes()); t = OrgEffortTime.parseOrNull(":45"); assertEquals(45, t.getTotalMinutes()); } }