htodo 0.1.5

A simple command line To-Do app built with Rust
Documentation
use crate::storage::Storage;

pub fn get_newest_id(storage: &Storage) -> i32 {
    let todos = storage.get_todos();
    let ids = todos.iter().map(|o| o.id);

    let mut max = -1;

    for id in ids {
        if id > max {
            max = id
        }
    }

    max + 1
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn it_should_get_largest_id_in_storage() {
        let mut storage: Storage = Storage::new(None);
        storage.clean();
        storage.add("t1", false);
        storage.add("t2", false);
        storage.add("t3", false);
        storage.add("t4", false);
        let id = storage.add("t5", false);

        assert_eq!(storage.get_todos().len(), 5);
        assert_eq!(get_newest_id(&storage), id + 1);
    }
}