gamelog events unit tests
This commit is contained in:
parent
58e4742f12
commit
66013667d8
3 changed files with 48 additions and 3 deletions
43
tests/gamelog_test.rs
Normal file
43
tests/gamelog_test.rs
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
// tests/gamelog_test.rs
|
||||
use rust_rl::gamelog::*;
|
||||
use rust_rl::data::events::*;
|
||||
use lazy_static::lazy_static;
|
||||
use std::sync::Mutex;
|
||||
|
||||
// To ensure this test module uses a single thread.
|
||||
lazy_static! {
|
||||
static ref SINGLE_THREAD: Mutex<()> = Mutex::new(());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn recording_event() {
|
||||
let _lock = SINGLE_THREAD.lock();
|
||||
clear_events();
|
||||
record_event(EVENT::Turn(1));
|
||||
record_event(EVENT::Turn(0));
|
||||
record_event(EVENT::Turn(-1));
|
||||
record_event(EVENT::Killed("mob".to_string()));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn getting_event_count() {
|
||||
let _lock = SINGLE_THREAD.lock();
|
||||
clear_events();
|
||||
record_event(EVENT::Turn(1));
|
||||
assert_eq!(get_event_count(EVENT::COUNT_TURN), 1);
|
||||
record_event(EVENT::Turn(3));
|
||||
assert_eq!(get_event_count(EVENT::COUNT_TURN), 4);
|
||||
clear_events();
|
||||
assert_eq!(get_event_count(EVENT::COUNT_TURN), 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn cloning_events() {
|
||||
let _lock = SINGLE_THREAD.lock();
|
||||
clear_events();
|
||||
record_event(EVENT::Level(1));
|
||||
record_event(EVENT::Turn(5));
|
||||
record_event(EVENT::Identified("item".to_string()));
|
||||
let cloned_events = clone_events();
|
||||
assert_eq!(EVENTS.lock().unwrap().clone(), cloned_events);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue