mod common;
use common::*;
use hail_core::{HailState, StateDump, types::*};
use ron::to_string;
#[test]
fn save_restore_empty() {
let s = init();
let dump = s.create_dump();
let s2 = HailState::from_dump(&dump);
same_state!(s, s2);
}
#[test]
#[ignore]
fn save_restore() {
let mut s = init();
s.request(StateChangeRequest::SetComparison(Comparison::Golds));
s.request(StateChangeRequest::Split);
s.update();
sleep(1300); s.update();
s.update();
sleep(750); s.update();
s.request(StateChangeRequest::Split);
s.update();
sleep(60); s.update();
s.request(StateChangeRequest::Split);
s.update();
sleep(40);
s.request(StateChangeRequest::Split);
s.update();
sleep(2040); s.update();
let dump = to_string(&s.create_dump()).unwrap();
let s2 = HailState::from_dump(&StateDump::from_reader(dump.as_bytes()).unwrap());
same_state!(s, s2);
}
#[test]
#[ignore]
fn save_restore_firstrun() {
let mut s = init_empty();
s.request(StateChangeRequest::SetComparison(Comparison::Golds));
s.request(StateChangeRequest::Split);
s.update();
sleep(1300);
s.update();
s.update();
sleep(150);
s.update();
s.request(StateChangeRequest::Split);
s.update();
sleep(60);
s.update();
s.request(StateChangeRequest::Split);
s.update();
sleep(40);
s.request(StateChangeRequest::Split);
s.update();
sleep(1000);
s.update();
let dump = to_string(&s.create_dump()).unwrap();
let s2 = HailState::from_dump(&StateDump::from_reader(dump.as_bytes()).unwrap());
same_state!(s, s2);
}