Add several_interpolations_several_keys test.
This commit is contained in:
		
							
								
								
									
										27
									
								
								tests/mod.rs
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								tests/mod.rs
									
									
									
									
									
								
							| @@ -101,3 +101,30 @@ fn linear_interpolation_several_keys() { | ||||
|   assert_eq!(spline.sample(10.), Some(2.)); | ||||
|   assert_eq!(spline.clamped_sample(11.), 4.); | ||||
| } | ||||
|  | ||||
| #[test] | ||||
| fn several_interpolations_several_keys() { | ||||
|   let start = Key::new(0., 0., Interpolation::Step(0.5)); | ||||
|   let k1    = Key::new(1., 5., Interpolation::Linear); | ||||
|   let k2    = Key::new(2., 0., Interpolation::Step(0.1)); | ||||
|   let k3    = Key::new(3., 1., Interpolation::Linear); | ||||
|   let k4    = Key::new(10., 2., Interpolation::Linear); | ||||
|   let end   = Key::new(11., 4., Interpolation::default()); | ||||
|   let spline = Spline::from_vec(vec![start, k1, k2, k3, k4, end]); | ||||
|  | ||||
|   assert_eq!(spline.sample(0.), Some(0.)); | ||||
|   assert_eq!(spline.sample(0.1), Some(0.)); | ||||
|   assert_eq!(spline.sample(0.2), Some(0.)); | ||||
|   assert_eq!(spline.sample(0.5), Some(5.)); | ||||
|   assert_eq!(spline.sample(0.9), Some(5.)); | ||||
|   assert_eq!(spline.sample(1.), Some(5.)); | ||||
|   assert_eq!(spline.sample(1.5), Some(2.5)); | ||||
|   assert_eq!(spline.sample(2.), Some(0.)); | ||||
|   assert_eq!(spline.sample(2.05), Some(0.)); | ||||
|   assert_eq!(spline.sample(2.1), Some(0.)); | ||||
|   assert_eq!(spline.sample(2.75), Some(1.)); | ||||
|   assert_eq!(spline.sample(3.), Some(1.)); | ||||
|   assert_eq!(spline.sample(6.5), Some(1.5)); | ||||
|   assert_eq!(spline.sample(10.), Some(2.)); | ||||
|   assert_eq!(spline.clamped_sample(11.), 4.); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user