Test riemann::trace_iter
This commit is contained in:
parent
8ab9ab71e8
commit
d90f473bd6
|
|
@ -169,11 +169,12 @@ pub mod samples {
|
|||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use approx::assert_abs_diff_eq;
|
||||
use super::*;
|
||||
|
||||
use glam::{Mat2, mat2, vec2};
|
||||
use rand::{Rng, SeedableRng};
|
||||
|
||||
use super::{Decomp2, Metric, samples};
|
||||
|
||||
#[test]
|
||||
fn uniform_scaled_metric() {
|
||||
let mut rng = rand_pcg::Pcg64Mcg::seed_from_u64(17);
|
||||
|
|
@ -192,4 +193,16 @@ mod tests {
|
|||
assert_eq!(metric.globalize(rng.gen(), vec2(0., 1.)), vec2(0., 1. / 4.));
|
||||
assert_eq!(metric.globalize(rng.gen(), vec2(1., 1.)), vec2(1. / 3., 1. / 4.));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_trace_iter() {
|
||||
let metric = samples::ScaledMetric { scale: vec2(2., 4.) };
|
||||
assert_eq!(trace_iter(&metric, vec2(3., 5.), vec2(1., 0.), 1.).nth(7).unwrap(), vec2(7., 5.));
|
||||
assert_eq!(trace_iter(&metric, vec2(3., 5.), vec2(2., 0.), 1.).nth(7).unwrap(), vec2(7., 5.));
|
||||
assert_eq!(trace_iter(&metric, vec2(3., 5.), vec2(1., 0.), 0.5).nth(7).unwrap(), vec2(5., 5.));
|
||||
assert_eq!(trace_iter(&metric, vec2(3., 5.), vec2(0., 1.), 1.).nth(9).unwrap(), vec2(3., 7.5));
|
||||
assert_eq!(trace_iter(&metric, vec2(3., 5.), vec2(0., 4.), 1.).nth(9).unwrap(), vec2(3., 7.5));
|
||||
assert_eq!(trace_iter(&metric, vec2(3., 5.), vec2(0., 1.), 0.5).nth(9).unwrap(), vec2(3., 6.25));
|
||||
assert_abs_diff_eq!(trace_iter(&metric, vec2(3., 5.), vec2(0.5, 0.25), std::f32::consts::SQRT_2).nth(7).unwrap(), vec2(7., 7.), epsilon=1e-5);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user