ipstuff 0.1.5

IP structures and utilities
Documentation
use crate::*;

use std::net::Ipv4Addr;

#[test]
fn bitand_ipv4() {
    let ip = Ipv4Addr::new(0x77, 255, 255, 255);
    assert_eq!(ip.bitand(0xF8_00_FF_00), Ipv4Addr::new(0x70, 0, 255, 0));
    assert_eq!(ip.bitand([0xF8, 0, 255, 0]), Ipv4Addr::new(0x70, 0, 255, 0));
    assert_eq!(ip.bitand(Ipv4Addr::new(0xF8, 0, 255, 0)), Ipv4Addr::new(0x70, 0, 255, 0));
}
#[test]
fn bitor_ipv4() {
    let ip = Ipv4Addr::new(0x77, 0xFF, 0x80, 0x33);
    assert_eq!(ip.bitor(0x80_00_0F_78), Ipv4Addr::new(0xF7, 0xFF, 0x8F, 0x7B));
    assert_eq!(ip.bitor([0x80, 0x00, 0x0F, 0x78]), Ipv4Addr::new(0xF7, 0xFF, 0x8F, 0x7B));
    assert_eq!(ip.bitor(Ipv4Addr::new(0x80, 0x00, 0x0F, 0x78)), Ipv4Addr::new(0xF7, 0xFF, 0x8F, 0x7B));
}
#[test]
fn bitxor_ipv4() {
    let ip = Ipv4Addr::new(0x77, 0xFF, 0x80, 0x33);
    assert_eq!(ip.bitxor(0xA0_F0_83_78), Ipv4Addr::new(0xD7, 0x0F, 0x03, 0x4B));
    assert_eq!(ip.bitxor([0xA0, 0xF0, 0x83, 0x78]), Ipv4Addr::new(0xD7, 0x0F, 0x03, 0x4B));
    assert_eq!(ip.bitxor(Ipv4Addr::new(0xA0, 0xF0, 0x83, 0x78)), Ipv4Addr::new(0xD7, 0x0F, 0x03, 0x4B));
}
#[test]
fn bitnot_ipv4() {
    let ip = Ipv4Addr::new(0x77, 0xFF, 0x80, 0x33);
    assert_eq!(ip.bitnot(), Ipv4Addr::new(0x88, 0x00, 0x7F, 0xCC));
}