@Test
public void testGetHostsForDomainPartition() throws Exception {
final Domain d0 = new MockDomain("d0");
final Host hc = new MockHost(LOCALHOST) {
HostDomain hd1 = new MockHostDomain(d0, 1, 1, 2, 2);
HostDomain hd2 = new MockHostDomain(null, 1, 2, 2, 2);
@Override
public Set<HostDomain> getAssignedDomains() throws IOException {
return new HashSet<HostDomain>(Arrays.asList(hd1, hd2));
}
@Override
public HostDomain getHostDomain(Domain domain) {
return hd1;
}
};
SlightlyLessAbstractRing ring = new SlightlyLessAbstractRing(1, null) {
@Override
public Set<Host> getHosts() {
return Collections.singleton(hc);
}
};
assertEquals(Collections.singleton(hc), Rings.getHostsForDomainPartition(ring, d0, 1));
assertEquals(Collections.singleton(hc), Rings.getHostsForDomainPartition(ring, d0, 2));
assertEquals(Collections.EMPTY_SET, Rings.getHostsForDomainPartition(ring, d0, 3));
}