zero85 0.2.0

Rust implementation of ZeroMQ's base85 algorithm.
Documentation
extern crate zero85;
extern crate quickcheck;

use zero85::*;

use quickcheck::quickcheck;
use quickcheck::TestResult;


#[test]
fn decode() {
    let t = "HelloWorld".from_z85().unwrap();
    let r = vec![0x86, 0x4F, 0xD2, 0x6F,
               0xB5, 0x59, 0xF7, 0x5B];
    assert_eq!(r, t);
}

#[test]
fn encode() {
    let t1 = &[0x86, 0x4F, 0xD2, 0x6F,
               0xB5, 0x59, 0xF7, 0x5B];
    let r = t1.to_z85().unwrap();
    assert_eq!(r, "HelloWorld");
}

#[test]
fn encode_quickcheck() {
    fn prop(xs: Vec<u8>) -> TestResult {
        let len = xs.len();
        if len == 0 || len % 4 != 0 {
            return TestResult::discard()
        }
        let r = xs.to_z85().unwrap();
        let newxs = r.from_z85().unwrap();
        TestResult::from_bool(xs == newxs)
    }
    quickcheck(prop as fn(Vec<u8>) -> TestResult);
}