### Question:
NoneTableShardingAlgorithm implements SingleKeyTableShardingAlgorithm<String>, MultipleKeysTableShardingAlgorithm { @Override public String doEqualSharding(final Collection<String> availableTargetNames, final ShardingValue<String> shardingValue) { return availableTargetNames.isEmpty() ? null : availableTargetNames.iterator().next(); }  @Override Collection<String> doSharding(final Collection<String> availableTableNames, final Collection<ShardingValue<?>> shardingValues); @Override String doEqualSharding(final Collection<String> availableTargetNames, final ShardingValue<String> shardingValue); @Override Collection<String> doInSharding(final Collection<String> availableTargetNames, final ShardingValue<String> shardingValue); @Override Collection<String> doBetweenSharding(final Collection<String> availableTargetNames, final ShardingValue<String> shardingValue);  }### Answer:
@Test public void assertDoEqualShardingForTargetsEmpty() { assertNull(noneTableShardingAlgorithm.doEqualSharding(Collections.<String>emptyList(), null)); }
@Test public void assertDoEqualSharding() { assertThat(noneTableShardingAlgorithm.doEqualSharding(targets, null), is("tbl")); }