@Test
public void testGetHostsInState() throws Exception {
final MockHost h1 = new MockHost(new PartitionServerAddress("localhost", 1));
final MockHost h2 = new MockHost(new PartitionServerAddress("localhost", 2));
final MockHost h3 = new MockHost(new PartitionServerAddress("localhost", 3));
SlightlyLessAbstractRing rc = new SlightlyLessAbstractRing(1, null) {
@Override
public Set<Host> getHosts() {
return new HashSet<Host>(Arrays.asList(h1, h2, h3));
}
};
h1.setState(HostState.IDLE);
h2.setState(HostState.SERVING);
h3.setState(HostState.OFFLINE);
assertEquals(Collections.singleton(h1), Rings.getHostsInState(rc, HostState.IDLE));
assertEquals(Collections.singleton(h2), Rings.getHostsInState(rc, HostState.SERVING));
assertEquals(Collections.singleton(h3), Rings.getHostsInState(rc, HostState.OFFLINE));
}
}