extern crate tdo_core; #[cfg(test)] mod interact { use tdo_core::{tdo, list, todo}; #[test] fn clean_lists() { let mut tdo = tdo::Tdo::new(); tdo.add_list(list::TodoList::new("test")).unwrap(); tdo.add_todo(Some("test"), todo::Todo::new(0, "First Entry", None)).unwrap(); tdo.add_todo(Some("test"), todo::Todo::new(1, "Second Entry", None)).unwrap(); let mut tdo2 = tdo::Tdo::new(); tdo2.add_list(list::TodoList::new("test")).unwrap(); tdo2.add_todo(Some("test"), todo::Todo::new(1, "Second Entry", None)).unwrap(); tdo.lists[1].done_id(0).unwrap(); tdo.clean_lists(); assert_eq!(tdo.lists[1].list.len(), tdo2.lists[1].list.len()); } #[test] fn clean_list() { let mut tdo = tdo::Tdo::new(); tdo.add_list(list::TodoList::new("test")).unwrap(); tdo.add_todo(Some("test"), todo::Todo::new(0, "First Entry", None)).unwrap(); tdo.add_todo(Some("test"), todo::Todo::new(1, "Second Entry", None)).unwrap(); tdo.add_list(list::TodoList::new("test2")).unwrap(); tdo.add_todo(Some("test2"), todo::Todo::new(2, "First Entry", None)).unwrap(); tdo.add_todo(Some("test2"), todo::Todo::new(3, "Second Entry", None)).unwrap(); tdo.lists[1].done_id(0).unwrap(); tdo.lists[2].done_id(2).unwrap(); tdo.clean_list("test").unwrap(); assert_eq!(tdo.lists[1].list.len(), 1); assert_eq!(tdo.lists[2].list.len(), 2); } #[test] fn remove_from_list() { let mut tdo = tdo::Tdo::new(); tdo.add_list(list::TodoList::new("test")).unwrap(); tdo.add_todo(Some("test"), todo::Todo::new(0, "First Entry", None)).unwrap(); tdo.add_todo(Some("test"), todo::Todo::new(1, "Second Entry", None)).unwrap(); tdo.remove_id(0).unwrap(); assert_eq!(tdo.lists[1].list.len(), 1); } #[test] #[should_panic] fn remove_not_existing_todo() { let mut tdo = tdo::Tdo::new(); tdo.remove_id(0).unwrap(); } #[test] #[should_panic] fn add_to_not_existing_list() { let mut tdo = tdo::Tdo::new(); tdo.add_todo(Some("test"), todo::Todo::new(0, "First Entry", None)).unwrap(); } #[test] fn set_done_list() { let mut tdo = tdo::Tdo::new(); tdo.add_list(list::TodoList::new("test")).unwrap(); tdo.add_todo(Some("test"), todo::Todo::new(0, "First Entry", None)).unwrap(); tdo.add_todo(Some("test"), todo::Todo::new(1, "Second Entry", None)).unwrap(); tdo.lists[1].done_id(0).unwrap(); assert!(tdo.lists[1].list[0].done); } #[test] fn clean_tdo() { let mut tdo = tdo::Tdo::new(); tdo.add_list(list::TodoList::new("test")).unwrap(); tdo.add_todo(Some("test"), todo::Todo::new(0, "First Entry", None)).unwrap(); tdo.add_todo(Some("test"), todo::Todo::new(1, "Second Entry", None)).unwrap(); let mut tdo2 = tdo::Tdo::new(); tdo2.add_list(list::TodoList::new("test")).unwrap(); tdo2.add_todo(Some("test"), todo::Todo::new(1, "Second Entry", None)).unwrap(); tdo.done_id(0).unwrap(); tdo.clean_lists(); assert_eq!(tdo.lists[1].list.len(), tdo2.lists[1].list.len()); } #[test] fn set_done_tdo() { let mut tdo = tdo::Tdo::new(); tdo.add_list(list::TodoList::new("test")).unwrap(); tdo.add_todo(Some("test"), todo::Todo::new(0, "First Entry", None)).unwrap(); tdo.add_todo(Some("test"), todo::Todo::new(1, "Second Entry", None)).unwrap(); tdo.done_id(0).unwrap(); assert!(tdo.lists[1].list[0].done); } }