jprops 0.1.0

reading property file in rust
Documentation
use jprops::Properties;

#[test]
fn default() {
    let props = Properties::default();

    assert_eq!(props.len(), 0);
    assert_eq!(props.is_empty(), true);
}

#[test]
fn insert() {
    let mut props = Properties::default();

    props.insert("hello".to_string(), "world".to_string());

    assert_eq!(props.len(), 1);
    assert_eq!(props.is_empty(), false);
}

#[test]
fn insert_str() {
    let mut props = Properties::default();

    props.insert_str("hallo", "welt");

    assert_eq!(props.len(), 1);
    assert_eq!(props.get("hallo"), Some("welt"));
    assert_eq!(props.get("hello"), None);
}

#[test]
fn delete() {
    let mut props = Properties::default();

    props.insert_str("hallo", "welt");
    props.insert_str("hallo", "welt");
    props.insert_str("hallo", "welt");
    props.insert_str("hello", "world");

    assert_eq!(props.len(), 4);

    props.delete("hallo");

    assert_eq!(props.len(), 1);

    assert_eq!(props.get("hello"), Some("world"));
}

#[test]
fn index() {
    let mut props = Properties::default();

    props.insert_str("hallo", "welt");
    props.insert_str("hello", "world");

    assert_eq!(&props["hallo"], "welt");
    assert_eq!(&props["hello"], "world");
}

#[test]
#[should_panic]
fn index_panic() {
    let props = Properties::default();

    assert_eq!(&props["hello"], "world");
}

#[test]
fn get_all() {
    let mut props = Properties::default();

    props.insert_str("hallo", "mutter");
    props.insert_str("hallo", "vater");
    props.insert_str("hallo", "welt");
    props.insert_str("hello", "world");

    assert_eq!(props.len(), 4);

    assert_eq!(props.get_all("hallo"), vec!["mutter", "vater", "welt",]);
}

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

    let mut other = Properties::default();
    other.insert_str("hello", "world");

    props.merge(other);

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