Initial quiz from ggriffiniii
This commit is contained in:
commit
833c0a56eb
39
src/main.rs
Normal file
39
src/main.rs
Normal 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));
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user