Cleanup integration tests.
This commit is contained in:
parent
395dff34ee
commit
cc3ac349b4
43
tests/cgmath.rs
Normal file
43
tests/cgmath.rs
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
#![cfg(feature = "cgmath")]
|
||||||
|
|
||||||
|
use cgmath as cg;
|
||||||
|
use splines::{Interpolation, Key, Spline};
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn cgmath_vector_interpolation() {
|
||||||
|
use splines::Interpolate;
|
||||||
|
|
||||||
|
let start = cg::Vector2::new(0.0, 0.0);
|
||||||
|
let mid = cg::Vector2::new(0.5, 0.5);
|
||||||
|
let end = cg::Vector2::new(1.0, 1.0);
|
||||||
|
|
||||||
|
assert_eq!(Interpolate::lerp(start, end, 0.0), start);
|
||||||
|
assert_eq!(Interpolate::lerp(start, end, 1.0), end);
|
||||||
|
assert_eq!(Interpolate::lerp(start, end, 0.5), mid);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn stroke_bezier_straight() {
|
||||||
|
use float_cmp::approx_eq;
|
||||||
|
|
||||||
|
let keys = vec![
|
||||||
|
Key::new(
|
||||||
|
0.0,
|
||||||
|
cg::Vector2::new(0., 1.),
|
||||||
|
Interpolation::StrokeBezier(cg::Vector2::new(0., 1.), cg::Vector2::new(0., 1.)),
|
||||||
|
),
|
||||||
|
Key::new(
|
||||||
|
5.0,
|
||||||
|
cg::Vector2::new(5., 1.),
|
||||||
|
Interpolation::StrokeBezier(cg::Vector2::new(5., 1.), cg::Vector2::new(5., 1.)),
|
||||||
|
),
|
||||||
|
];
|
||||||
|
let spline = Spline::from_vec(keys);
|
||||||
|
|
||||||
|
assert!(approx_eq!(f32, spline.clamped_sample(0.0).unwrap().y, 1.));
|
||||||
|
assert!(approx_eq!(f32, spline.clamped_sample(1.0).unwrap().y, 1.));
|
||||||
|
assert!(approx_eq!(f32, spline.clamped_sample(2.0).unwrap().y, 1.));
|
||||||
|
assert!(approx_eq!(f32, spline.clamped_sample(3.0).unwrap().y, 1.));
|
||||||
|
assert!(approx_eq!(f32, spline.clamped_sample(4.0).unwrap().y, 1.));
|
||||||
|
assert!(approx_eq!(f32, spline.clamped_sample(5.0).unwrap().y, 1.));
|
||||||
|
}
|
@ -1,10 +1,5 @@
|
|||||||
use splines::{spline::SampledWithKey, Interpolation, Key, Spline};
|
use splines::{spline::SampledWithKey, Interpolation, Key, Spline};
|
||||||
|
|
||||||
#[cfg(feature = "cgmath")]
|
|
||||||
use cgmath as cg;
|
|
||||||
#[cfg(feature = "nalgebra")]
|
|
||||||
use nalgebra as na;
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn step_interpolation_f32() {
|
fn step_interpolation_f32() {
|
||||||
let start = Key::new(0., 0., Interpolation::Step(0.));
|
let start = Key::new(0., 0., Interpolation::Step(0.));
|
||||||
@ -163,61 +158,6 @@ fn several_interpolations_several_keys() {
|
|||||||
assert_eq!(spline.clamped_sample(11.), Some(4.));
|
assert_eq!(spline.clamped_sample(11.), Some(4.));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "cgmath")]
|
|
||||||
#[test]
|
|
||||||
fn stroke_bezier_straight() {
|
|
||||||
use float_cmp::approx_eq;
|
|
||||||
|
|
||||||
let keys = vec![
|
|
||||||
Key::new(
|
|
||||||
0.0,
|
|
||||||
cg::Vector2::new(0., 1.),
|
|
||||||
Interpolation::StrokeBezier(cg::Vector2::new(0., 1.), cg::Vector2::new(0., 1.)),
|
|
||||||
),
|
|
||||||
Key::new(
|
|
||||||
5.0,
|
|
||||||
cg::Vector2::new(5., 1.),
|
|
||||||
Interpolation::StrokeBezier(cg::Vector2::new(5., 1.), cg::Vector2::new(5., 1.)),
|
|
||||||
),
|
|
||||||
];
|
|
||||||
let spline = Spline::from_vec(keys);
|
|
||||||
|
|
||||||
assert!(approx_eq!(f32, spline.clamped_sample(0.0).unwrap().y, 1.));
|
|
||||||
assert!(approx_eq!(f32, spline.clamped_sample(1.0).unwrap().y, 1.));
|
|
||||||
assert!(approx_eq!(f32, spline.clamped_sample(2.0).unwrap().y, 1.));
|
|
||||||
assert!(approx_eq!(f32, spline.clamped_sample(3.0).unwrap().y, 1.));
|
|
||||||
assert!(approx_eq!(f32, spline.clamped_sample(4.0).unwrap().y, 1.));
|
|
||||||
assert!(approx_eq!(f32, spline.clamped_sample(5.0).unwrap().y, 1.));
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(feature = "cgmath")]
|
|
||||||
#[test]
|
|
||||||
fn cgmath_vector_interpolation() {
|
|
||||||
use splines::Interpolate;
|
|
||||||
|
|
||||||
let start = cg::Vector2::new(0.0, 0.0);
|
|
||||||
let mid = cg::Vector2::new(0.5, 0.5);
|
|
||||||
let end = cg::Vector2::new(1.0, 1.0);
|
|
||||||
|
|
||||||
assert_eq!(Interpolate::lerp(start, end, 0.0), start);
|
|
||||||
assert_eq!(Interpolate::lerp(start, end, 1.0), end);
|
|
||||||
assert_eq!(Interpolate::lerp(start, end, 0.5), mid);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(feature = "nalgebra")]
|
|
||||||
#[test]
|
|
||||||
fn nalgebra_vector_interpolation() {
|
|
||||||
use splines::Interpolate;
|
|
||||||
|
|
||||||
let start = na::Vector2::new(0.0, 0.0);
|
|
||||||
let mid = na::Vector2::new(0.5, 0.5);
|
|
||||||
let end = na::Vector2::new(1.0, 1.0);
|
|
||||||
|
|
||||||
assert_eq!(Interpolate::lerp(start, end, 0.0), start);
|
|
||||||
assert_eq!(Interpolate::lerp(start, end, 1.0), end);
|
|
||||||
assert_eq!(Interpolate::lerp(start, end, 0.5), mid);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn add_key_empty() {
|
fn add_key_empty() {
|
||||||
let mut spline: Spline<f32, f32> = Spline::from_vec(vec![]);
|
let mut spline: Spline<f32, f32> = Spline::from_vec(vec![]);
|
16
tests/nalgebra.rs
Normal file
16
tests/nalgebra.rs
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#![cfg(feature = "nalgebra")]
|
||||||
|
|
||||||
|
use nalgebra as na;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn nalgebra_vector_interpolation() {
|
||||||
|
use splines::Interpolate;
|
||||||
|
|
||||||
|
let start = na::Vector2::new(0.0, 0.0);
|
||||||
|
let mid = na::Vector2::new(0.5, 0.5);
|
||||||
|
let end = na::Vector2::new(1.0, 1.0);
|
||||||
|
|
||||||
|
assert_eq!(Interpolate::lerp(start, end, 0.0), start);
|
||||||
|
assert_eq!(Interpolate::lerp(start, end, 1.0), end);
|
||||||
|
assert_eq!(Interpolate::lerp(start, end, 0.5), mid);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user