@Override
    public String doSharding(final Collection<String> availableTargetNames, final PreciseShardingValue<Comparable<?>> shardingValue) {
        ShardingSpherePreconditions.checkNotNull(shardingValue.getValue(), NullShardingValueException::new);
        return doSharding(availableTargetNames, Range.singleton(shardingValue.getValue())).stream().findFirst().orElse(null);
    }
@Test
    void assertRangeDoShardingByDaysInLocalDate() {
        int stepAmount = 2;
        Collection<String> availableTargetNames = new LinkedList<>();
        for (int j = 6; j <= 7; j++) {
            for (int i = 1; j == 6 ? i <= 30 : i <= 31; i = i + stepAmount) {
                availableTargetNames.add(String.format("t_order_%04d%02d%02d", 2021, j, i));
            }
        }
        Collection<String> actualAsLocalDate = createAlgorithm("yyyy-MM-dd", "2021-06-01",
                "2021-07-31", "yyyyMMdd", stepAmount, null)
                        .doSharding(availableTargetNames,
                                createShardingValue(LocalDate.of(2021, 6, 15), LocalDate.of(2021, 7, 31)));
        assertThat(actualAsLocalDate.size(), is(24));
    }