tests: put repeated code in function
This commit is contained in:
parent
aff500202c
commit
7f0c3f95ae
@ -183,19 +183,42 @@ lazy_static::lazy_static! {
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
// Tests to make sure archived (and compressed) assets match expected data
|
||||
#[test]
|
||||
fn test_file_data() {
|
||||
assert_eq!(FILE_DATA.font_ubuntu_light, FontData::from_owned(include_bytes!("../assets/Ubuntu-Light.ttf").to_vec()));
|
||||
assert_eq!(FILE_DATA.font_notoemoji, FontData::from_owned(include_bytes!("../assets/NotoEmoji-Regular.ttf").to_vec()));
|
||||
assert_eq!(FILE_DATA.font_hack, FontData::from_owned(include_bytes!("../assets/Hack-Regular.ttf").to_vec()));
|
||||
assert_eq!(
|
||||
FILE_DATA.font_ubuntu_light,
|
||||
FontData::from_owned(include_bytes!("../assets/Ubuntu-Light.ttf").to_vec())
|
||||
);
|
||||
assert_eq!(
|
||||
FILE_DATA.font_notoemoji,
|
||||
FontData::from_owned(include_bytes!("../assets/NotoEmoji-Regular.ttf").to_vec())
|
||||
);
|
||||
assert_eq!(
|
||||
FILE_DATA.font_hack,
|
||||
FontData::from_owned(include_bytes!("../assets/Hack-Regular.ttf").to_vec())
|
||||
);
|
||||
|
||||
assert_eq!(FILE_DATA.text_help_expr, include_str!("../assets/text_help_expr.txt"));
|
||||
assert_eq!(FILE_DATA.text_help_vars, include_str!("../assets/text_help_vars.txt"));
|
||||
assert_eq!(FILE_DATA.text_help_panel, include_str!("../assets/text_help_panel.txt"));
|
||||
assert_eq!(FILE_DATA.text_help_function, include_str!("../assets/text_help_function.txt"));
|
||||
assert_eq!(FILE_DATA.text_help_other, include_str!("../assets/text_help_other.txt"));
|
||||
assert_eq!(
|
||||
FILE_DATA.text_help_expr,
|
||||
include_str!("../assets/text_help_expr.txt")
|
||||
);
|
||||
assert_eq!(
|
||||
FILE_DATA.text_help_vars,
|
||||
include_str!("../assets/text_help_vars.txt")
|
||||
);
|
||||
assert_eq!(
|
||||
FILE_DATA.text_help_panel,
|
||||
include_str!("../assets/text_help_panel.txt")
|
||||
);
|
||||
assert_eq!(
|
||||
FILE_DATA.text_help_function,
|
||||
include_str!("../assets/text_help_function.txt")
|
||||
);
|
||||
assert_eq!(
|
||||
FILE_DATA.text_help_other,
|
||||
include_str!("../assets/text_help_other.txt")
|
||||
);
|
||||
}
|
||||
|
||||
cfg_if::cfg_if! {
|
||||
|
||||
160
src/function.rs
160
src/function.rs
@ -308,32 +308,11 @@ impl FunctionEntry {
|
||||
pub fn get_derivative_str(&self) -> String { self.function.get_derivative_str() }
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn left_function_test() {
|
||||
let integral_num = 10;
|
||||
let pixel_width = 10;
|
||||
|
||||
let mut function = FunctionEntry::empty()
|
||||
.update_riemann(RiemannSum::Left)
|
||||
.pixel_width(pixel_width)
|
||||
.integral_num(integral_num)
|
||||
.integral_bounds(-1.0, 1.0);
|
||||
|
||||
let back_values_target = vec![
|
||||
(-1.0, 1.0),
|
||||
(-0.8, 0.6400000000000001),
|
||||
(-0.6, 0.36),
|
||||
(-0.4, 0.16000000000000003),
|
||||
(-0.19999999999999996, 0.03999999999999998),
|
||||
(0.0, 0.0),
|
||||
(0.19999999999999996, 0.03999999999999998),
|
||||
(0.3999999999999999, 0.15999999999999992),
|
||||
(0.6000000000000001, 0.3600000000000001),
|
||||
(0.8, 0.6400000000000001),
|
||||
];
|
||||
|
||||
let area_target = 0.9600000000000001;
|
||||
|
||||
#[cfg(test)]
|
||||
fn verify_function(
|
||||
integral_num: usize, pixel_width: usize, function: &mut FunctionEntry,
|
||||
back_values_target: Vec<(f64, f64)>, area_target: f64,
|
||||
) {
|
||||
{
|
||||
let (back_values, bars, derivative) = function.run_back();
|
||||
assert!(derivative.is_none());
|
||||
@ -345,7 +324,7 @@ fn left_function_test() {
|
||||
}
|
||||
|
||||
{
|
||||
function = function.integral(true);
|
||||
*function = function.clone().integral(true);
|
||||
let (back_values, bars, derivative) = function.run_back();
|
||||
assert!(derivative.is_none());
|
||||
assert!(bars.is_some());
|
||||
@ -375,6 +354,41 @@ fn left_function_test() {
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn left_function_test() {
|
||||
let integral_num = 10;
|
||||
let pixel_width = 10;
|
||||
|
||||
let mut function = FunctionEntry::empty()
|
||||
.update_riemann(RiemannSum::Left)
|
||||
.pixel_width(pixel_width)
|
||||
.integral_num(integral_num)
|
||||
.integral_bounds(-1.0, 1.0);
|
||||
|
||||
let back_values_target = vec![
|
||||
(-1.0, 1.0),
|
||||
(-0.8, 0.6400000000000001),
|
||||
(-0.6, 0.36),
|
||||
(-0.4, 0.16000000000000003),
|
||||
(-0.19999999999999996, 0.03999999999999998),
|
||||
(0.0, 0.0),
|
||||
(0.19999999999999996, 0.03999999999999998),
|
||||
(0.3999999999999999, 0.15999999999999992),
|
||||
(0.6000000000000001, 0.3600000000000001),
|
||||
(0.8, 0.6400000000000001),
|
||||
];
|
||||
|
||||
let area_target = 0.9600000000000001;
|
||||
|
||||
verify_function(
|
||||
integral_num,
|
||||
pixel_width,
|
||||
&mut function,
|
||||
back_values_target,
|
||||
area_target,
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn middle_function_test() {
|
||||
let integral_num = 10;
|
||||
@ -401,45 +415,13 @@ fn middle_function_test() {
|
||||
|
||||
let area_target = 0.92;
|
||||
|
||||
{
|
||||
let (back_values, bars, derivative) = function.run_back();
|
||||
assert!(derivative.is_none());
|
||||
assert!(bars.is_none());
|
||||
assert_eq!(back_values.len(), pixel_width);
|
||||
let back_values_tuple: Vec<(f64, f64)> =
|
||||
back_values.iter().map(|ele| (ele.x, ele.y)).collect();
|
||||
assert_eq!(back_values_tuple, back_values_target);
|
||||
}
|
||||
|
||||
{
|
||||
function = function.integral(true);
|
||||
let (back_values, bars, derivative) = function.run_back();
|
||||
assert!(derivative.is_none());
|
||||
assert!(bars.is_some());
|
||||
assert_eq!(back_values.len(), pixel_width);
|
||||
|
||||
assert_eq!(bars.clone().unwrap().1, area_target);
|
||||
|
||||
let vec_bars = bars.unwrap().0;
|
||||
assert_eq!(vec_bars.len(), integral_num);
|
||||
|
||||
let back_values_tuple: Vec<(f64, f64)> =
|
||||
back_values.iter().map(|ele| (ele.x, ele.y)).collect();
|
||||
assert_eq!(back_values_tuple, back_values_target);
|
||||
}
|
||||
|
||||
{
|
||||
function.derivative = true;
|
||||
let (back_values, bars, derivative) = function.run_back();
|
||||
assert!(derivative.is_some());
|
||||
|
||||
assert!(bars.is_some());
|
||||
assert_eq!(back_values.len(), pixel_width);
|
||||
assert_eq!(bars.clone().unwrap().1, area_target);
|
||||
let bars_unwrapped = bars.unwrap();
|
||||
|
||||
assert_eq!(bars_unwrapped.0.iter().len(), integral_num);
|
||||
}
|
||||
verify_function(
|
||||
integral_num,
|
||||
pixel_width,
|
||||
&mut function,
|
||||
back_values_target,
|
||||
area_target,
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -468,43 +450,11 @@ fn right_function_test() {
|
||||
|
||||
let area_target = 0.8800000000000001;
|
||||
|
||||
{
|
||||
let (back_values, bars, derivative) = function.run_back();
|
||||
assert!(derivative.is_none());
|
||||
assert!(bars.is_none());
|
||||
assert_eq!(back_values.len(), pixel_width);
|
||||
let back_values_tuple: Vec<(f64, f64)> =
|
||||
back_values.iter().map(|ele| (ele.x, ele.y)).collect();
|
||||
assert_eq!(back_values_tuple, back_values_target);
|
||||
}
|
||||
|
||||
{
|
||||
function = function.integral(true);
|
||||
let (back_values, bars, derivative) = function.run_back();
|
||||
assert!(derivative.is_none());
|
||||
assert!(bars.is_some());
|
||||
assert_eq!(back_values.len(), pixel_width);
|
||||
|
||||
assert_eq!(bars.clone().unwrap().1, area_target);
|
||||
|
||||
let vec_bars = bars.unwrap().0;
|
||||
assert_eq!(vec_bars.len(), integral_num);
|
||||
|
||||
let back_values_tuple: Vec<(f64, f64)> =
|
||||
back_values.iter().map(|ele| (ele.x, ele.y)).collect();
|
||||
assert_eq!(back_values_tuple, back_values_target);
|
||||
}
|
||||
|
||||
{
|
||||
function.derivative = true;
|
||||
let (back_values, bars, derivative) = function.run_back();
|
||||
assert!(derivative.is_some());
|
||||
|
||||
assert!(bars.is_some());
|
||||
assert_eq!(back_values.len(), pixel_width);
|
||||
assert_eq!(bars.clone().unwrap().1, area_target);
|
||||
let bars_unwrapped = bars.unwrap();
|
||||
|
||||
assert_eq!(bars_unwrapped.0.iter().len(), integral_num);
|
||||
}
|
||||
verify_function(
|
||||
integral_num,
|
||||
pixel_width,
|
||||
&mut function,
|
||||
back_values_target,
|
||||
area_target,
|
||||
);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user