mirror of
https://github.com/achanda/ipnetwork.git
synced 2025-06-16 16:58:50 +00:00
add test cases
This commit is contained in:
@ -57,6 +57,8 @@ impl Ipv4Network {
|
||||
/// use std::net::Ipv4Addr;
|
||||
/// use ipnetwork::Ipv4Network;
|
||||
///
|
||||
/// let net: Ipv4Network = "127.0.0.0".parse().unwrap();
|
||||
/// assert_eq!(net.mask(), Ipv4Addr::new(255, 255, 255, 255));
|
||||
/// let net: Ipv4Network = "127.0.0.0/16".parse().unwrap();
|
||||
/// assert_eq!(net.mask(), Ipv4Addr::new(255, 255, 0, 0));
|
||||
/// ```
|
||||
@ -280,6 +282,13 @@ mod test {
|
||||
assert_eq!(cidr.prefix(), 32);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_v4_noprefix() {
|
||||
let cidr: Ipv4Network = "127.0.0.0".parse().unwrap();
|
||||
assert_eq!(cidr.ip(), Ipv4Addr::new(127, 0, 0, 0));
|
||||
assert_eq!(cidr.prefix(), 32);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_v4_fail_addr() {
|
||||
let cidr: Option<Ipv4Network> = "10.a.b/8".parse().ok();
|
||||
|
@ -106,6 +106,8 @@ impl Ipv6Network {
|
||||
/// use std::net::Ipv6Addr;
|
||||
/// use ipnetwork::Ipv6Network;
|
||||
///
|
||||
/// let net: Ipv6Network = "ff01::0".parse().unwrap();
|
||||
/// assert_eq!(net.mask(), Ipv6Addr::new(0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff));
|
||||
/// let net: Ipv6Network = "ff01::0/32".parse().unwrap();
|
||||
/// assert_eq!(net.mask(), Ipv6Addr::new(0xffff, 0xffff, 0, 0, 0, 0, 0, 0));
|
||||
/// ```
|
||||
@ -281,6 +283,13 @@ mod test {
|
||||
assert_eq!(cidr.prefix(), 64);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_v6_noprefix() {
|
||||
let cidr: Ipv6Network = "::1".parse().unwrap();
|
||||
assert_eq!(cidr.ip(), Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1));
|
||||
assert_eq!(cidr.prefix(), 128);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_v6_fail_addr() {
|
||||
let cidr: Option<Ipv6Network> = "2001::1::/8".parse().ok();
|
||||
|
@ -64,6 +64,8 @@ impl IpNetwork {
|
||||
///
|
||||
/// assert_eq!(IpNetwork::V4("10.9.0.1".parse().unwrap()).prefix(), 32u8);
|
||||
/// assert_eq!(IpNetwork::V4("10.9.0.32/16".parse().unwrap()).prefix(), 16u8);
|
||||
///
|
||||
/// assert_eq!(IpNetwork::V6("ff01::0".parse().unwrap()).prefix(), 128u8);
|
||||
/// assert_eq!(IpNetwork::V6("ff01::0/32".parse().unwrap()).prefix(), 32u8);
|
||||
/// ```
|
||||
pub fn prefix(&self) -> u8 {
|
||||
@ -85,6 +87,9 @@ impl IpNetwork {
|
||||
/// assert_eq!(v4_net.mask(), Ipv4Addr::new(255, 255, 255, 255));
|
||||
/// let v4_net: IpNetwork = "10.9.0.32/16".parse().unwrap();
|
||||
/// assert_eq!(v4_net.mask(), Ipv4Addr::new(255, 255, 0, 0));
|
||||
///
|
||||
/// let v6_net: IpNetwork = "ff01::0".parse().unwrap();
|
||||
/// assert_eq!(v6_net.mask(), Ipv6Addr::new(0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff));
|
||||
/// let v6_net: IpNetwork = "ff01::0/32".parse().unwrap();
|
||||
/// assert_eq!(v6_net.mask(), Ipv6Addr::new(0xffff, 0xffff, 0, 0, 0, 0, 0, 0));
|
||||
///```
|
||||
|
Reference in New Issue
Block a user