Files
wasm-pong/pong/tests/game_field_test.rs
2022-05-02 13:46:23 +02:00

45 lines
1.3 KiB
Rust

#[cfg(test)]
mod game_field_tests {
use pong::game_field::{Field, Input, InputType};
use std::borrow::Borrow;
use std::cell::RefCell;
#[test]
fn player_input_update_pos__up() {
let height = 1000;
let mut field = Field::mock(1000, height);
field.add_player(1, 50, height / 2);
let inputs = vec![Input {
input: InputType::UP,
obj_id: 1,
}];
field.tick(inputs);
let player = RefCell::borrow(
field
.objs()
.iter()
.find(|o| RefCell::borrow(o).obj_type() == "player")
.unwrap(),
);
assert_eq!(player.pos().y, height as f64 / 2. + 1.);
}
#[test]
fn player_input_update_pos__down() {
let height = 1000;
let mut field = Field::mock(1000, height);
field.add_player(1, 50, height / 2);
let inputs = vec![Input {
input: InputType::DOWN,
obj_id: 1,
}];
field.tick(inputs);
let objs = field.objs();
let player = objs
.iter()
.find(|o| RefCell::borrow(o).obj_type() == "player")
.unwrap();
assert_eq!(RefCell::borrow(player).pos().y, height as f64 / 2. - 1.);
}
}