summaryrefslogtreecommitdiff
path: root/tests/monte_carlo_test.rs
blob: 832cdb39a5385800011b13fa7209570e4c06c0f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
extern crate zombot;
extern crate time;
use time::{PreciseTime, Duration};

use zombot::*;

const STATE_PATH: &str = "tests/state0.json";

// there are assertions in the game engine, run when it's in debug mode
#[test]
fn it_does_a_normal_turn_successfully() {
    let start_time = PreciseTime::now();
    let (settings, state) = match input::json::read_bitwise_state_from_file(STATE_PATH) {
        Ok(ok) => ok,
        Err(error) => panic!("Error while parsing JSON file: {}", error)
    };
    let max_time = Duration::milliseconds(200);
    strategy::monte_carlo::choose_move(&settings, &state, &start_time, max_time);

    assert!(start_time.to(PreciseTime::now()) < max_time + Duration::milliseconds(50))
}