public Result parse(final String string) throws DateNotParsableException {
        return this.parse(string, new Date());
    }
@Test
    public void testThisMonth() throws Exception {
        DateTime reference = DateTimeFormat.forPattern("dd.MM.yyyy HH:mm:ss").withZoneUTC().parseDateTime("12.06.2021 09:45:23");
        NaturalDateParser.Result result = naturalDateParser.parse("this month", reference.toDate());

        DateTime first = DateTimeFormat.forPattern("dd.MM.yyyy HH:mm:ss").withZoneUTC().parseDateTime("01.06.2021 00:00:00");
        DateTime firstNextMonth = DateTimeFormat.forPattern("dd.MM.yyyy HH:mm:ss").withZoneUTC().parseDateTime("01.07.2021 00:00:00");
        assertThat(result.getFrom()).as("should start at the beginning of the month").isEqualTo(first);
        assertThat(result.getTo()).as("should be the 1st day of the following month").isEqualTo(firstNextMonth);
    }