summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJustin Worthe <justin@worthe-it.co.za>2018-07-12 23:41:58 +0200
committerJustin Worthe <justin@worthe-it.co.za>2018-07-12 23:41:58 +0200
commitdaa60184c6e52c82008ed375c7a2d4f7e65dfab0 (patch)
tree7df7ea8fd94448726603617034599c61f245fb84 /tests
parent03f574e28c2c535a2365b3621bf08e808e75c23b (diff)
Changed other bitwise stuff to use constants
Diffstat (limited to 'tests')
-rw-r--r--tests/expressive_to_bitwise_comparison.rs21
-rw-r--r--tests/live_comparison.rs4
2 files changed, 13 insertions, 12 deletions
diff --git a/tests/expressive_to_bitwise_comparison.rs b/tests/expressive_to_bitwise_comparison.rs
index bdc4a19..ac2cbf0 100644
--- a/tests/expressive_to_bitwise_comparison.rs
+++ b/tests/expressive_to_bitwise_comparison.rs
@@ -11,6 +11,7 @@ use zombot::engine::{GameState, GameStatus, Player};
use zombot::engine::expressive_engine;
use zombot::engine::bitwise_engine;
+use zombot::engine::constants::*;
use proptest::prelude::*;
@@ -123,14 +124,14 @@ fn build_bitwise_from_expressive(expressive: &expressive_engine::ExpressiveGameS
.filter(|b| identify_building_type(b.weapon_damage, b.energy_generated_per_turn) == BuildingType::Energy)
.fold(0, |acc, next| acc | next.pos.to_right_bitfield());
- let mut player_buildings_iter = (0..4)
+ let mut player_buildings_iter = (0..DEFENCE_HEALTH as u8)
.map(|i| expressive.player_buildings.iter()
- .filter(|b| b.health > i*5)
+ .filter(|b| b.health > i*MISSILE_DAMAGE)
.fold(0, |acc, next| acc | next.pos.to_left_bitfield())
);
- let mut opponent_buildings_iter = (0..4)
+ let mut opponent_buildings_iter = (0..DEFENCE_HEALTH as u8)
.map(|i| expressive.opponent_buildings.iter()
- .filter(|b| b.health > i*5)
+ .filter(|b| b.health > i*MISSILE_DAMAGE)
.fold(0, |acc, next| acc | next.pos.to_right_bitfield())
);
@@ -143,20 +144,20 @@ fn build_bitwise_from_expressive(expressive: &expressive_engine::ExpressiveGameS
expressive.opponent_unconstructed_buildings.iter()
.fold(0, |acc, next| acc | next.pos.to_right_bitfield());
- let mut player_attack_iter = (0..4)
+ let mut player_attack_iter = (0..MISSILE_COOLDOWN as u8 + 1)
.map(|i| expressive.player_buildings.iter()
.filter(|b| identify_building_type(b.weapon_damage, b.energy_generated_per_turn) == BuildingType::Attack)
.filter(|b| b.weapon_cooldown_time_left == i)
.fold(0, |acc, next| acc | next.pos.to_left_bitfield())
);
- let mut opponent_attack_iter = (0..4)
+ let mut opponent_attack_iter = (0..MISSILE_COOLDOWN as u8 + 1)
.map(|i| expressive.opponent_buildings.iter()
.filter(|b| identify_building_type(b.weapon_damage, b.energy_generated_per_turn) == BuildingType::Attack)
.filter(|b| b.weapon_cooldown_time_left == i)
.fold(0, |acc, next| acc | next.pos.to_right_bitfield())
);
- let empty_missiles: [(u64,u64);4] = [(0,0),(0,0),(0,0),(0,0)];
+ let empty_missiles: [(u64,u64);MISSILE_COOLDOWN+1] = [(0,0),(0,0),(0,0),(0,0)];
let player_missiles = expressive.player_missiles.iter()
.fold(empty_missiles, |acc, m| {
let (mut left, mut right) = m.pos.to_bitfield();
@@ -240,9 +241,9 @@ fn build_bitwise_unconstructed_from_expressive(b: &expressive_engine::Unconstruc
fn identify_building_type(weapon_damage: u8, energy_generated_per_turn: u16) -> BuildingType {
match (weapon_damage, energy_generated_per_turn) {
- (5, _) => BuildingType::Attack,
- (20, _) => BuildingType::Tesla,
- (_, 3) => BuildingType::Energy,
+ (MISSILE_DAMAGE, _) => BuildingType::Attack,
+ (TESLA_DAMAGE, _) => BuildingType::Tesla,
+ (_, ENERGY_GENERATED_TOWER) => BuildingType::Energy,
_ => BuildingType::Defence
}
}
diff --git a/tests/live_comparison.rs b/tests/live_comparison.rs
index 91d3530..2fcc8b5 100644
--- a/tests/live_comparison.rs
+++ b/tests/live_comparison.rs
@@ -20,12 +20,12 @@ fn it_successfully_simulates_replay_with_teslas() {
}
fn test_from_replay(replay_folder: &str, length: usize) {
- let (settings, mut state) = json::read_expressive_state_from_file(&format!("{}/Round 000/state.json", replay_folder)).unwrap();
+ let (settings, mut state) = json::read_bitwise_state_from_file(&format!("{}/Round 000/state.json", replay_folder)).unwrap();
for i in 0..length {
let player = read_player_command(&format!("{}/Round {:03}/PlayerCommand.txt", replay_folder, i));
let opponent = read_opponent_command(&format!("{}/Round {:03}/OpponentCommand.txt", replay_folder, i), &settings);
- let (_, mut expected_state) = json::read_expressive_state_from_file(&format!("{}/Round {:03}/state.json", replay_folder, i+1)).unwrap();
+ let (_, mut expected_state) = json::read_bitwise_state_from_file(&format!("{}/Round {:03}/state.json", replay_folder, i+1)).unwrap();
state.simulate(&settings, player, opponent);
state.sort();