mappings = getPartitionAssignment(1, host1);
assertEquals(1, mappings.size());
assertEquals(host1, mappings.get(0));
mappings = getPartitionAssignment(1, host1, host2, host3);
assertEquals(1, numPartitionsAssigned(host1, mappings));
mappings = getPartitionAssignment(2, host1, host2, host3);
assertEquals(2, mappings.size());
assertEquals(1, numPartitionsAssigned(host1, mappings));
assertEquals(0, numPartitionsAssigned(host2, mappings));
assertEquals(1, numPartitionsAssigned(host3, mappings));
mappings = getPartitionAssignment(3, host1, host2, host3);
assertEquals(3, mappings.size());
assertEquals(1, numPartitionsAssigned(host1, mappings));
assertEquals(1, numPartitionsAssigned(host2, mappings));
assertEquals(1, numPartitionsAssigned(host3, mappings));
mappings = getPartitionAssignment(4, host1, host2, host3);
assertEquals(4, mappings.size());
assertEquals(2, numPartitionsAssigned(host1, mappings));
assertEquals(0, numPartitionsAssigned(host2, mappings));
assertEquals(2, numPartitionsAssigned(host3, mappings));
mappings = getPartitionAssignment(5, host1, host2, host3);
assertEquals(5, mappings.size());
assertEquals(2, numPartitionsAssigned(host1, mappings));
assertEquals(2, numPartitionsAssigned(host2, mappings));