mirror of
https://github.com/achanda/ipnetwork.git
synced 2025-06-16 08:48:51 +00:00
Iterators: reproducer for overflow on high end of iteration
This commit is contained in:
15
src/ipv4.rs
15
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<Ipv4Addr> = low.iter().collect();
|
||||
assert_eq!(256, low_addrs.len());
|
||||
assert_eq!("0.0.0.0".parse::<Ipv4Addr>().unwrap(), low_addrs[0]);
|
||||
assert_eq!("0.0.0.255".parse::<Ipv4Addr>().unwrap(), low_addrs[255]);
|
||||
|
||||
let high: Ipv4Network = "255.255.255.0/24".parse().unwrap();
|
||||
let high_addrs: Vec<Ipv4Addr> = high.iter().collect();
|
||||
assert_eq!(256, high_addrs.len());
|
||||
assert_eq!("255.255.255.0".parse::<Ipv4Addr>().unwrap(), high_addrs[0]);
|
||||
assert_eq!("255.255.255.255".parse::<Ipv4Addr>().unwrap(), high_addrs[255]);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user