package io.cattle.platform.resource.pool.subnet;
import static org.junit.Assert.*;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
import org.junit.Test;
public class SubnetAddressGeneratorTest {
protected Set<String> run(String start, String end) {
Iterator<String> iter = new SubnetAddressGenerator(start, end);
Set<String> ips = new LinkedHashSet<String>();
while (iter.hasNext()) {
ips.add(iter.next());
}
return ips;
}
@Test
public void testSimpleRange() {
Set<String> ips = run("192.168.0.1", "192.168.0.4");
assertEquals(4, ips.size());
assertTrue(ips.contains("192.168.0.1"));
assertTrue(ips.contains("192.168.0.2"));
assertTrue(ips.contains("192.168.0.3"));
assertTrue(ips.contains("192.168.0.4"));
}
@Test
public void testRolloverRange() {
Set<String> ips = run("192.167.255.255", "192.168.0.1");
assertEquals(3, ips.size());
assertTrue(ips.contains("192.168.0.1"));
assertTrue(ips.contains("192.167.255.255"));
assertTrue(ips.contains("192.168.0.0"));
}
@Test
public void testSingle() {
Set<String> ips = run("192.168.0.1", "192.168.0.1");
assertEquals(1, ips.size());
assertTrue(ips.contains("192.168.0.1"));
}
}