Initial quiz from ggriffiniii

This commit is contained in:
Bill Thiede 2019-10-03 18:51:27 -07:00
commit 833c0a56eb

39
src/main.rs Normal file
View File

@ -0,0 +1,39 @@
pub struct LinearScale {}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn linear_scale_test() {
let scale = LinearScale::new(0..=3, 100..=200);
assert_eq!(100, scale.output_for(0));
assert_eq!(133, scale.output_for(1));
assert_eq!(166, scale.output_for(2));
assert_eq!(200, scale.output_for(3));
let scale = LinearScale::new(0..=100, 100..=100);
assert_eq!(100, scale.output_for(0));
assert_eq!(100, scale.output_for(100));
let scale = LinearScale::new(0.0..=1.0, 100..=200);
assert_eq!(100, scale.output_for(0.0));
assert_eq!(150, scale.output_for(0.5));
assert_eq!(200, scale.output_for(1.0));
let scale = LinearScale::new(0..=100, 0.0..=1.0);
assert_eq!(0.0, scale.output_for(0));
assert_eq!(0.5, scale.output_for(50));
assert_eq!(1.0, scale.output_for(100));
let scale = LinearScale::new(100..=200, 0.0..=1.0);
assert_eq!(0.0, scale.output_for(100));
assert_eq!(0.5, scale.output_for(150));
assert_eq!(1.0, scale.output_for(200));
let scale = LinearScale::new(100..=150, 0.0..=0.5);
assert_eq!(0.0, scale.output_for(100));
assert_eq!(0.1, scale.output_for(110));
assert_eq!(0.5, scale.output_for(150));
}
}