@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 assertRangeDoShardingByYears() {
        Collection<String> availableTargetNames = new LinkedList<>();
        for (int i = 2000; i < 2023; i++) {
            availableTargetNames.add(String.format("t_order_%04d", i));
        }
        Collection<String> actual = createAlgorithm("yyyy", "2000",
                "2022", "yyyy", 2, "Years")
                        .doSharding(availableTargetNames, createShardingValue(Year.of(2001), Year.of(2013)));
        assertThat(actual.size(), is(7));
    }