diff --git a/src/funs/test/test_transform.rs b/src/funs/test/test_transform.rs new file mode 100644 index 0000000..76ca633 --- /dev/null +++ b/src/funs/test/test_transform.rs @@ -0,0 +1,15 @@ +use funs::transform::*; +use matrix::Mat4; +use vector::{Vec3, Vec4}; + +#[test] +fn test_mat4_from_rotation() { + let a_theta = Degrees(180f).to_radians(); + let a_axis = Vec3::unit_z(); + let a_pos = Vec4::new(1f32, 0f32, 0f32, 1f32); + + let a_tform = mat4_from_rotation(a_theta, a_axis).mul_v(&a_pos); + let a_expected = Vec4::new(-1f32, 0f32, 0f32, 1f32); + + assert a_tform == a_expected; +} \ No newline at end of file diff --git a/src/lmath.rc b/src/lmath.rc index 04c7435..da29e01 100644 --- a/src/lmath.rc +++ b/src/lmath.rc @@ -40,5 +40,6 @@ pub mod funs { #[test] mod test { mod test_boolv; + mod test_transform; } } \ No newline at end of file