### Question:
QueryBuilderArgs implements Serializable { public abstract Optional<Instant> partition();  abstract Optional<Long> limit(); abstract Optional<String> partitionColumn(); abstract Optional<Instant> partition(); abstract TemporalAmount partitionPeriod(); abstract Optional<String> splitColumn(); abstract Optional<Integer> queryParallelism(); abstract Builder builder(); static QueryBuilderArgs create(final String tableName); static QueryBuilderArgs createFromQuery(final String sqlQuery); String sqlQueryWithLimitOne(); List<String> buildQueries(final Connection connection);  }### Answer:
@Test public void shouldConfigurePartitionForFullIsoString() throws IOException, SQLException { QueryBuilderArgs actual = parseOptions( "--connectionUrl=jdbc:postgresql: + "--partition=2027-07-31T13:37:59Z"); Assert.assertEquals(Optional.of(Instant.parse("2027-07-31T13:37:59Z")), actual.partition()); }
@Test public void shouldConfigurePartitionForMonthlySchedule() throws IOException, SQLException { QueryBuilderArgs actual = parseOptions( "--connectionUrl=jdbc:postgresql: + "--partition=2027-05"); Assert.assertEquals(Optional.of(Instant.parse("2027-05-01T00:00:00Z")), actual.partition()); }
@Test public void shouldConfigurePartitionForHourlySchedule() throws IOException, SQLException { QueryBuilderArgs actual = parseOptions( "--connectionUrl=jdbc:postgresql: + "--partition=2027-05-02T23"); Assert.assertEquals(Optional.of(Instant.parse("2027-05-02T23:00:00Z")), actual.partition()); }