mirror of
https://github.com/thilo-behnke/wasm-pong.git
synced 2026-07-11 10:39:18 +00:00
31 lines
1.0 KiB
Rust
31 lines
1.0 KiB
Rust
use pong::game_object::components::{DefaultGeomComp, DefaultPhysicsComp};
|
|
use pong::game_object::game_object::{DefaultGameObject, GameObject};
|
|
use pong::geom::geom::Vector;
|
|
use pong::geom::shape::Shape;
|
|
use rstest::rstest;
|
|
|
|
#[rstest]
|
|
#[case(Vector::new(100., 100.), Vector::new(-1., 1.), Vector::new(99.9, 100.1), 0.1)]
|
|
#[case(Vector::new(300., 400.), Vector::new(-5., 0.), Vector::new(299.5, 400.), 0.1)]
|
|
#[case(Vector::new(300., 400.), Vector::new(-5., 0.), Vector::new(299.5, 400.), 0.013)]
|
|
pub fn should_update_pos(
|
|
#[case] start_pos: Vector,
|
|
#[case] vel: Vector,
|
|
#[case] expected_pos: Vector,
|
|
#[case] ms_diff: f64,
|
|
) {
|
|
let mut obj = DefaultGameObject::new(
|
|
1,
|
|
"obj".to_string(),
|
|
Box::new(DefaultGeomComp::new(Shape::rect(
|
|
Vector::new(start_pos.x as f64, start_pos.y as f64),
|
|
Vector::new(1., 0.),
|
|
0.,
|
|
0.,
|
|
))),
|
|
Box::new(DefaultPhysicsComp::new(vel, false)),
|
|
);
|
|
obj.update_pos(ms_diff);
|
|
assert_eq!(*obj.pos(), expected_pos);
|
|
}
|