### Question:
RoundRobinSlaveLoadBalanceStrategy implements SlaveLoadBalanceStrategy { @Override public DataSource getDataSource(final String name, final List<DataSource> slaveDataSources) { AtomicInteger count = COUNT_MAP.containsKey(name) ? COUNT_MAP.get(name) : new AtomicInteger(0); COUNT_MAP.putIfAbsent(name, count); count.compareAndSet(slaveDataSources.size(), 0); return slaveDataSources.get(count.getAndIncrement() % slaveDataSources.size()); }  @Override DataSource getDataSource(final String name, final List<DataSource> slaveDataSources);  }### Answer:
@Test public void assertGetDataSource() { DataSource slaveDataSource1 = new TestDataSource("test_ds_slave_1"); DataSource slaveDataSource2 = new TestDataSource("test_ds_slave_2"); assertThat(roundRobinSlaveLoadBalanceStrategy.getDataSource("ds", Arrays.asList(slaveDataSource1, slaveDataSource2)), is(slaveDataSource1)); assertThat(roundRobinSlaveLoadBalanceStrategy.getDataSource("ds", Arrays.asList(slaveDataSource1, slaveDataSource2)), is(slaveDataSource2)); assertThat(roundRobinSlaveLoadBalanceStrategy.getDataSource("ds", Arrays.asList(slaveDataSource1, slaveDataSource2)), is(slaveDataSource1)); }