jprops 0.1.0

reading property file in rust
Documentation
use jprops::Properties;
use std::borrow::Cow;

#[test]
fn iter_take() {
    let mut props = Properties::default();
    props.insert_str("hallo", "welt");
    props.insert_str("hello", "world");

    let mut it = props.into_iter();

    assert_eq!(
        it.next(),
        Some((Cow::Borrowed("hallo"), Cow::Borrowed("welt")))
    );
    assert_eq!(
        it.next(),
        Some((Cow::Borrowed("hello"), Cow::Borrowed("world")))
    );
    assert_eq!(it.next(), None);
}

#[test]
fn iter_ref() {
    let mut props = Properties::default();
    props.insert_str("hallo", "welt");
    props.insert_str("hello", "world");

    let mut it = (&props).into_iter();

    assert_eq!(
        it.next(),
        Some(&(Cow::Borrowed("hallo"), Cow::Borrowed("welt")))
    );
    assert_eq!(
        it.next(),
        Some(&(Cow::Borrowed("hello"), Cow::Borrowed("world")))
    );
    assert_eq!(it.next(), None);
}

#[test]
fn iter_mut() {
    let mut props = Properties::default();
    props.insert_str("hallo", "welt");
    props.insert_str("hello", "world");

    let mut it = (&mut props).into_iter();

    assert_eq!(
        it.next(),
        Some(&mut (Cow::Borrowed("hallo"), Cow::Borrowed("welt")))
    );
    assert_eq!(
        it.next(),
        Some(&mut (Cow::Borrowed("hello"), Cow::Borrowed("world")))
    );
    assert_eq!(it.next(), None);
}

#[test]
fn key_values() {
    let mut props = Properties::default();
    props.insert_str("hallo", "welt");
    props.insert_str("hello", "world");

    let mut it = props.key_values();

    assert_eq!(it.next(), Some(("hallo", "welt")));
    assert_eq!(it.next(), Some(("hello", "world")));
    assert_eq!(it.next(), None);
}

#[test]
fn keys() {
    let mut props = Properties::default();
    props.insert_str("hallo", "welt");
    props.insert_str("hello", "world");

    let mut it = props.keys();

    assert_eq!(it.next(), Some("hallo"));
    assert_eq!(it.next(), Some("hello"));
    assert_eq!(it.next(), None);
}

#[test]
fn from_ref() {
    let props = Properties::from_iter(vec![("hello", "world"), ("hallo", "welt")]);

    assert_eq!(props.len(), 2);
}

#[test]
fn from_own() {
    let props = Properties::from_iter(vec![
        ("hello".to_string(), "world".to_string()),
        ("hallo".to_string(), "welt".to_string()),
    ]);

    assert_eq!(props.len(), 2);
}