mirror of
https://github.com/thilo-behnke/wasm-pong.git
synced 2026-07-12 19:19:16 +00:00
45 lines
1.3 KiB
Rust
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.);
|
|
}
|
|
}
|