mitrid_core 0.9.4

Core library of the Mitrid framework
use std::net::{SocketAddr, IpAddr, Ipv4Addr, Ipv6Addr};
use std::str::FromStr;

use fixture::io::{Address, address::DEFAULT_SOCKET};

#[test]
fn test_address_string() {
    let addr_a = Address::new("address");
    let addr_b = Address::new(&addr_a.to_string());
    assert_eq!(addr_a, addr_b)
}

#[test]
fn test_address_ipaddr() {
    let port = 8080;

    let socketaddrv4_a = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(192, 0, 2, 255)), port);
    let addrv4 = Address::from_socket(&socketaddrv4_a);

    let res = addrv4.to_socket();
    assert!(res.is_ok());

    let socketaddrv4_b = res.unwrap();
    assert_eq!(socketaddrv4_a, socketaddrv4_b);

    let socketaddrv6_a = SocketAddr::new(IpAddr::V6(Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1)), port);
    let addrv6 = Address::from_socket(&socketaddrv6_a);

    let res = addrv6.to_socket();
    assert!(res.is_ok());

    let socketaddrv6_b = res.unwrap();
    assert_eq!(socketaddrv6_a, socketaddrv6_b);
}

#[test]
fn test_address_default() {
    let address = Address::default();

    let addr_str = address.to_string();
    assert_eq!(&addr_str, DEFAULT_SOCKET);

    let socket = address.to_socket().unwrap();
    let default_socket = SocketAddr::from_str(DEFAULT_SOCKET).unwrap();
    assert_eq!(socket, default_socket);
}