mod lib_test;
use chrono::{Duration, NaiveDateTime};
use lib_test::*;
use spreadsheet_ods::metadata::{MetaUserDefined, MetaValue};
use spreadsheet_ods::{read_ods, OdsError, Sheet, WorkBook};
#[test]
fn test_write_read() -> Result<(), OdsError> {
let mut wb = WorkBook::new_empty();
wb.metadata_mut().user_defined.push(MetaUserDefined {
name: "one".to_string(),
value: MetaValue::String("val".to_string()),
});
wb.metadata_mut().user_defined.push(MetaUserDefined {
name: "two".to_string(),
value: MetaValue::TimeDuration(Duration::try_hours(0).expect("hours")),
});
wb.metadata_mut().user_defined.push(MetaUserDefined {
name: "three".to_string(),
value: MetaValue::Datetime(NaiveDateTime::default()),
});
wb.metadata_mut().user_defined.push(MetaUserDefined {
name: "four".to_string(),
value: MetaValue::Boolean(true),
});
wb.metadata_mut().user_defined.push(MetaUserDefined {
name: "five".to_string(),
value: MetaValue::Float(1.234),
});
let mut sh = Sheet::new("1");
sh.set_value(0, 0, "A");
wb.push_sheet(sh);
test_write_ods(&mut wb, "test_out/test_metadata.ods")?;
let _wi = read_ods("test_out/test_metadata.ods")?;
Ok(())
}