Files
learn-rust/tasks/tests/mine.rs
T

48 lines
887 B
Rust

use std::fs;
use tasks::error::TaskError;
use tasks::store::Store;
use tasks::task::Status;
use crate::common::{temp_path, three_tasks};
mod common;
#[test]
fn completing_task_that_are_done_is_not_an_error() -> Result<(), TaskError> {
let mut m = three_tasks();
m.complete(1)?;
let t = m.find(1).unwrap();
assert_eq!(t.status, Status::Done);
Ok(())
}
#[test]
fn reload_saved_working() -> Result<(), TaskError> {
let mut m = three_tasks();
let p = temp_path();
m.remove_completed();
m.save(&p)?;
let m2 = Store::load(&p)?;
assert_eq!(m2, m);
Ok(())
}
#[test]
fn smaller_store_smaller_saved_files() -> Result<(), TaskError> {
let mut m = three_tasks();
let p = temp_path();
m.save(&p)?;
m.remove_completed();
m.save(&p)?;
let s = fs::read_to_string(p)?;
assert_eq!(s.lines().count(), 2);
Ok(())
}