Fix tests

This commit is contained in:
Brendan Zabarauskas 2013-03-29 18:48:01 +11:00
parent 4cefbf763c
commit 1c51fba5a6
3 changed files with 28 additions and 27 deletions

View file

@ -1,5 +1,6 @@
use mat::*; use mat::*;
use vec::*; use vec::*;
use std::cmp::FuzzyEq;
// TODO // TODO
@ -57,10 +58,10 @@ fn test_mat2() {
assert!(a.dot(&b) == 40.0); assert!(a.dot(&b) == 40.0);
assert!(a.transpose() == mat2::new(1.0, 2.0, assert!(a.transpose() == mat2::new(1.0, 2.0,
3.0, 4.0)); 3.0, 4.0));
assert!(option::unwrap(a.inverse()) == mat2::new(-2.0, 1.5, assert!(a.inverse().unwrap() == mat2::new(-2.0, 1.5,
1.0, -0.5)); 1.0, -0.5));
assert!(mat2::new(0.0, 2.0, assert!(mat2::new(0.0, 2.0,
0.0, 5.0).inverse().is_none()); 0.0, 5.0).inverse().is_none());
@ -144,7 +145,7 @@ fn test_mat2_mut() {
mut_a = a; mut_a = a;
mut_a.invert_self(); mut_a.invert_self();
assert!(mut_a == option::unwrap(a.inverse())); assert!(mut_a == a.inverse().unwrap());
mut_a = a; mut_a = a;
mut_a.transpose_self(); mut_a.transpose_self();
@ -230,16 +231,16 @@ fn test_mat3() {
assert!(a.inverse().is_none()); assert!(a.inverse().is_none());
assert!(option::unwrap(mat3::new(2.0, 4.0, 6.0, assert!(mat3::new(2.0, 4.0, 6.0,
0.0, 2.0, 4.0, 0.0, 2.0, 4.0,
0.0, 0.0, 1.0).inverse()) 0.0, 0.0, 1.0).inverse().unwrap()
== mat3::new(0.5, -1.0, 1.0, == mat3::new(0.5, -1.0, 1.0,
0.0, 0.5, -2.0, 0.0, 0.5, -2.0,
0.0, 0.0, 1.0)); 0.0, 0.0, 1.0));
let ident: Mat3<float> = Matrix::identity(); let ident: Mat3<float> = Matrix::identity();
assert!(option::unwrap(ident.inverse()) == ident); assert!(ident.inverse().unwrap() == ident);
assert!(ident.is_identity()); assert!(ident.is_identity());
assert!(ident.is_symmetric()); assert!(ident.is_symmetric());
@ -333,7 +334,7 @@ fn test_mat3_mut() {
mut_a = a; mut_a = a;
mut_c.invert_self(); mut_c.invert_self();
assert!(mut_c == option::unwrap(c.inverse())); assert!(mut_c == c.inverse().unwrap());
// mut_c = c; // mut_c = c;
mut_a.transpose_self(); mut_a.transpose_self();
@ -542,7 +543,7 @@ fn test_mat4_mut() {
mut_a = a; mut_a = a;
mut_c.invert_self(); mut_c.invert_self();
assert!(mut_c == option::unwrap(c.inverse())); assert!(mut_c == c.inverse().unwrap());
// mut_c = c; // mut_c = c;
mut_a.transpose_self(); mut_a.transpose_self();
@ -553,11 +554,11 @@ fn test_mat4_mut() {
#[test] #[test]
fn test_mat4_fuzzy_eq() { fn test_mat4_fuzzy_eq() {
assert!(!mat4::new(0.000001, 0.000001, 0.000001, 0.000001, assert!(!mat4::new(0.000001, 0.000001, 0.000001, 0.000001,
0.000001, 0.000001, 0.000001, 0.000001, 0.000001, 0.000001, 0.000001, 0.000001,
0.000001, 0.000001, 0.000001, 0.000001, 0.000001, 0.000001, 0.000001, 0.000001,
0.000001, 0.000001, 0.000001, 0.000001).fuzzy_eq(&mat4::zero())); 0.000001, 0.000001, 0.000001, 0.000001).fuzzy_eq(&mat4::zero()));
assert!(mat4::new(0.0000001, 0.0000001, 0.0000001, 0.0000001, assert!(mat4::new(0.0000001, 0.0000001, 0.0000001, 0.0000001,
0.0000001, 0.0000001, 0.0000001, 0.0000001, 0.0000001, 0.0000001, 0.0000001, 0.0000001,
0.0000001, 0.0000001, 0.0000001, 0.0000001, 0.0000001, 0.0000001, 0.0000001, 0.0000001,
0.0000001, 0.0000001, 0.0000001, 0.0000001).fuzzy_eq(&mat4::zero())); 0.0000001, 0.0000001, 0.0000001, 0.0000001).fuzzy_eq(&mat4::zero()));
} }

View file

@ -1,3 +1,4 @@
use std::cmp::FuzzyEq;
use numeric::*; use numeric::*;
use mat::*; use mat::*;

View file

@ -1,5 +1,4 @@
use std::cmp::FuzzyEq; use std::cmp::FuzzyEq;
use numeric::*;
use numeric::float::Float; use numeric::float::Float;
use vec::*; use vec::*;
@ -58,11 +57,11 @@ fn test_vec2() {
assert!(mut_a == -a); assert!(mut_a == -a);
mut_a = a; mut_a = a;
mut_a.mul_self_t(&f1); mut_a.mul_self_t(f1);
assert!(mut_a == a.mul_t(f1)); assert!(mut_a == a.mul_t(f1));
mut_a = a; mut_a = a;
mut_a.div_self_t(&f2); mut_a.div_self_t(f2);
assert!(mut_a == a.div_t(f2)); assert!(mut_a == a.div_t(f2));
mut_a = a; mut_a = a;
@ -110,7 +109,7 @@ fn test_vec2_euclidean() {
assert!(vec2::new(1.0, 0.0).angle(&vec2::new(0.0, 1.0)).fuzzy_eq(&Float::frac_pi_2())); assert!(vec2::new(1.0, 0.0).angle(&vec2::new(0.0, 1.0)).fuzzy_eq(&Float::frac_pi_2()));
assert!(vec2::new(10.0, 0.0).angle(&vec2::new(0.0, 5.0)).fuzzy_eq(&Float::frac_pi_2())); assert!(vec2::new(10.0, 0.0).angle(&vec2::new(0.0, 5.0)).fuzzy_eq(&Float::frac_pi_2()));
assert!(vec2::new(-1.0, 0.0).angle(&vec2::new(0.0, 1.0)).fuzzy_eq(&Float::frac_pi_2())); assert!(vec2::new(-1.0, 0.0).angle(&vec2::new(0.0, 1.0)).fuzzy_eq(&-Float::frac_pi_2::<f32>()));
assert!(vec2::new(3.0, 4.0).normalize().fuzzy_eq(&vec2::new(3.0/5.0, 4.0/5.0))); assert!(vec2::new(3.0, 4.0).normalize().fuzzy_eq(&vec2::new(3.0/5.0, 4.0/5.0)));
// TODO: test normalize_to, normalize_self, and normalize_self_to // TODO: test normalize_to, normalize_self, and normalize_self_to
@ -121,7 +120,7 @@ fn test_vec2_euclidean() {
assert!(c.lerp(&d, 0.75) == vec2::new(0.250, -0.250)); assert!(c.lerp(&d, 0.75) == vec2::new(0.250, -0.250));
let mut mut_c = c; let mut mut_c = c;
mut_c.lerp_self(&d, &0.75); mut_c.lerp_self(&d, 0.75);
assert!(mut_c == c.lerp(&d, 0.75)); assert!(mut_c == c.lerp(&d, 0.75));
} }
@ -211,11 +210,11 @@ fn test_vec3() {
assert!(mut_a == -a); assert!(mut_a == -a);
mut_a = a; mut_a = a;
mut_a.mul_self_t(&f1); mut_a.mul_self_t(f1);
assert!(mut_a == a.mul_t(f1)); assert!(mut_a == a.mul_t(f1));
mut_a = a; mut_a = a;
mut_a.div_self_t(&f2); mut_a.div_self_t(f2);
assert!(mut_a == a.div_t(f2)); assert!(mut_a == a.div_t(f2));
mut_a = a; mut_a = a;
@ -278,7 +277,7 @@ fn test_vec3_euclidean() {
assert!(c.lerp(&d, 0.75) == vec3::new(0.250, -0.250, 0.625)); assert!(c.lerp(&d, 0.75) == vec3::new(0.250, -0.250, 0.625));
let mut mut_c = c; let mut mut_c = c;
mut_c.lerp_self(&d, &0.75); mut_c.lerp_self(&d, 0.75);
assert!(mut_c == c.lerp(&d, 0.75)); assert!(mut_c == c.lerp(&d, 0.75));
} }
@ -368,11 +367,11 @@ fn test_vec4() {
assert!(mut_a == -a); assert!(mut_a == -a);
mut_a = a; mut_a = a;
mut_a.mul_self_t(&f1); mut_a.mul_self_t(f1);
assert!(mut_a == a.mul_t(f1)); assert!(mut_a == a.mul_t(f1));
mut_a = a; mut_a = a;
mut_a.div_self_t(&f2); mut_a.div_self_t(f2);
assert!(mut_a == a.div_t(f2)); assert!(mut_a == a.div_t(f2));
mut_a = a; mut_a = a;
@ -431,7 +430,7 @@ fn test_vec4_euclidean() {
assert!(c.lerp(&d, 0.75) == vec4::new(0.250, -0.250, 0.625, 1.250)); assert!(c.lerp(&d, 0.75) == vec4::new(0.250, -0.250, 0.625, 1.250));
let mut mut_c = c; let mut mut_c = c;
mut_c.lerp_self(&d, &0.75); mut_c.lerp_self(&d, 0.75);
assert!(mut_c == c.lerp(&d, 0.75)); assert!(mut_c == c.lerp(&d, 0.75));
} }