diff --git a/src/ipv4.rs b/src/ipv4.rs index 0d8ee6a..015c1f4 100644 --- a/src/ipv4.rs +++ b/src/ipv4.rs @@ -614,4 +614,19 @@ mod test { assert_eq!(skynet.overlaps(other2), false); assert_eq!(other2.overlaps(other3), true); } + + #[test] + fn edges() { + let low: Ipv4Network = "0.0.0.0/24".parse().unwrap(); + let low_addrs: Vec = low.iter().collect(); + assert_eq!(256, low_addrs.len()); + assert_eq!("0.0.0.0".parse::().unwrap(), low_addrs[0]); + assert_eq!("0.0.0.255".parse::().unwrap(), low_addrs[255]); + + let high: Ipv4Network = "255.255.255.0/24".parse().unwrap(); + let high_addrs: Vec = high.iter().collect(); + assert_eq!(256, high_addrs.len()); + assert_eq!("255.255.255.0".parse::().unwrap(), high_addrs[0]); + assert_eq!("255.255.255.255".parse::().unwrap(), high_addrs[255]); + } } diff --git a/src/ipv6.rs b/src/ipv6.rs index 9152d08..800ef8c 100644 --- a/src/ipv6.rs +++ b/src/ipv6.rs @@ -589,4 +589,15 @@ mod test { assert_eq!(other2.overlaps(other), true); } + + #[test] + fn edges() { + let low: Ipv6Network = "::0/120".parse().unwrap(); + let low_addrs: Vec = low.iter().collect(); + assert_eq!(256, low_addrs.len()); + + let high: Ipv6Network = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00/120".parse().unwrap(); + let high_addrs: Vec = high.iter().collect(); + assert_eq!(256, high_addrs.len()); + } }