ende 0.1.0

A library for encoding/decoding unicode/utf-8/utf-16(ucs-2) code points.
Documentation
use ende::prelude::*;

#[test]
fn test_utf16_encode_in_utf16_1() {
    let v: Vec<u32> = vec![0x10001];
    let enc: Vec<u16> = encode_in_utf16(v);
    assert_eq!(enc, vec![0xd800, 0xdc01]);
}

#[test]
fn test_utf16_decode_from_utf16_1() {
    let enc: Vec<u16> = vec![0xd800, 0xdc01];
    let v: Vec<u32> = decode_from_utf16(enc);
    assert_eq!(v, vec![0x10001]);
}

#[test]
fn test_utf16_encode_in_utf16_2() {
    let v: Vec<u32> = vec![0x10001, 0x10001];
    let enc: Vec<u16> = encode_in_utf16(v);
    assert_eq!(enc, vec![0xd800, 0xdc01, 0xd800, 0xdc01]);
}

#[test]
fn test_utf16_decode_from_utf16_2() {
    let enc: Vec<u16> = vec![0xd800, 0xdc01, 0xd800, 0xdc01];
    let v: Vec<u32> = decode_from_utf16(enc);
    assert_eq!(v, vec![0x10001, 0x10001]);
}

#[test]
fn test_utf16_encode_in_utf16_3() {
    let v: Vec<u32> = vec![0x10001, 0x10001, 0x10001];
    let enc: Vec<u16> = encode_in_utf16(v);
    assert_eq!(enc, vec![0xd800, 0xdc01, 0xd800, 0xdc01, 0xd800, 0xdc01]);
}

#[test]
fn test_utf16_decode_from_utf16_3() {
    let enc: Vec<u16> = vec![0xd800, 0xdc01, 0xd800, 0xdc01, 0xd800, 0xdc01];
    let v: Vec<u32> = decode_from_utf16(enc);
    assert_eq!(v, vec![0x10001, 0x10001, 0x10001]);
}

#[test]
fn test_utf16_encode_in_utf16_4() {
    let v: Vec<u32> = vec![0x10001, 0x23456];
    let enc: Vec<u16> = encode_in_utf16(v);
    assert_eq!(enc, vec![0xd800, 0xdc01, 0xd84d, 0xdc56]);
}

#[test]
fn test_utf16_decode_from_utf16_4() {
    let enc: Vec<u16> = vec![0xd800, 0xdc01, 0xd84d, 0xdc56];
    let v: Vec<u32> = decode_from_utf16(enc);
    assert_eq!(v, vec![0x10001, 0x23456]);
}