diff --git a/src/test/java/PersonnummerTest.java b/src/test/java/PersonnummerTest.java index ae1c03b..8242ed1 100644 --- a/src/test/java/PersonnummerTest.java +++ b/src/test/java/PersonnummerTest.java @@ -63,7 +63,7 @@ public void testParse(PersonnummerData ssn) { assertDoesNotThrow(() -> Personnummer.parse(ssn.separatedFormat, new Options(false))); assertDoesNotThrow(() -> Personnummer.parse(ssn.separatedFormat, new Options(false))); } - + @ParameterizedTest @MethodSource("DataProvider#getDate") public void testDate(PersonnummerData ssn) { @@ -72,31 +72,36 @@ public void testDate(PersonnummerData ssn) { data.add(new Personnummer(ssn.longFormat, new Options())); data.add(new Personnummer(ssn.shortFormat, new Options())); data.add(new Personnummer(ssn.separatedFormat, new Options())); - + data.forEach(entry -> { - + assertDoesNotThrow(() -> entry.getDate()); LocalDateTime dateTime = entry.getDate(); String expectedYear = entry.getFullYear(); String expectedMonth = entry.getMonth(); if(expectedMonth.charAt(0)=='0') expectedMonth = expectedMonth.substring(1); - String expectedDate = String.valueOf(entry.getRealDay()); + int day = Integer.parseInt(entry.getDay()); + if (day > 60) { + day -= 60; + } + + String expectedDate = String.valueOf(day); if(expectedDate.charAt(0)=='0') expectedDate = expectedDate.substring(1); // Integer expected = Integer.valueOf(ssn.longFormat.substring(0,4)); String actualYear = String.valueOf(dateTime.getYear()); String actualMonth = String.valueOf(dateTime.getMonth().getValue()); String actualDate = String.valueOf(dateTime.getDayOfMonth()); - + assertEquals(expectedYear, actualYear); //, "expected year = " + expectedYear + "\n" + "Actual year = " + actualYear); assertEquals(expectedMonth, actualMonth);//, "expected month = " + expectedMonth + "\n" + "Actual month = " + actualMonth); assertEquals(expectedDate, actualDate); //, "expected date = " + expectedDate + "\n" + "Actual date = " + actualDate); - + }); - - - + + + } catch (PersonnummerException e) { // TODO Auto-generated catch block e.printStackTrace();