decon-spf 0.3.3

This is a simple tool that allows you to deconstruct an existing SPF record that might be retreived in a normal DNS TXT lookup. With version 0.2.0 you can now also construct a new Spf record.
Documentation
mod parse {

    use crate::SpfBuilder;

    #[test]
    fn valid() {
        let input = "v=spf1 ip4:10.0.0.0/23 ~all";

        let spf: SpfBuilder<_> = input.parse().unwrap();
        assert!(spf.ip4().is_some());
        assert_eq!(spf.ip4().unwrap()[0].qualifier().is_pass(), true);
        assert_eq!(spf.ip4().unwrap()[0].raw(), "10.0.0.0/23");
        assert_eq!(spf.ip4().unwrap()[0].to_string(), "ip4:10.0.0.0/23");
        assert_eq!(spf.ip4().unwrap()[0].as_network().prefix(), 23);
        assert_eq!(spf.to_string(), "v=spf1 ip4:10.0.0.0/23 ~all");
    }
    mod invalid {
        // Need to add failing tests
    }
}