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
|
// Tests to make sure archived (and compressed) assets match expected data
|
||||||
#[test]
|
#[test]
|
||||||
fn test_file_data() {
|
fn test_file_data() {
|
||||||
assert_eq!(FILE_DATA.font_ubuntu_light, FontData::from_owned(include_bytes!("../assets/Ubuntu-Light.ttf").to_vec()));
|
assert_eq!(
|
||||||
assert_eq!(FILE_DATA.font_notoemoji, FontData::from_owned(include_bytes!("../assets/NotoEmoji-Regular.ttf").to_vec()));
|
FILE_DATA.font_ubuntu_light,
|
||||||
assert_eq!(FILE_DATA.font_hack, FontData::from_owned(include_bytes!("../assets/Hack-Regular.ttf").to_vec()));
|
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!(
|
||||||
assert_eq!(FILE_DATA.text_help_vars, include_str!("../assets/text_help_vars.txt"));
|
FILE_DATA.text_help_expr,
|
||||||
assert_eq!(FILE_DATA.text_help_panel, include_str!("../assets/text_help_panel.txt"));
|
include_str!("../assets/text_help_expr.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_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! {
|
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() }
|
pub fn get_derivative_str(&self) -> String { self.function.get_derivative_str() }
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[cfg(test)]
|
||||||
fn left_function_test() {
|
fn verify_function(
|
||||||
let integral_num = 10;
|
integral_num: usize, pixel_width: usize, function: &mut FunctionEntry,
|
||||||
let pixel_width = 10;
|
back_values_target: Vec<(f64, f64)>, area_target: f64,
|
||||||
|
) {
|
||||||
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;
|
|
||||||
|
|
||||||
{
|
{
|
||||||
let (back_values, bars, derivative) = function.run_back();
|
let (back_values, bars, derivative) = function.run_back();
|
||||||
assert!(derivative.is_none());
|
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();
|
let (back_values, bars, derivative) = function.run_back();
|
||||||
assert!(derivative.is_none());
|
assert!(derivative.is_none());
|
||||||
assert!(bars.is_some());
|
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]
|
#[test]
|
||||||
fn middle_function_test() {
|
fn middle_function_test() {
|
||||||
let integral_num = 10;
|
let integral_num = 10;
|
||||||
@ -401,45 +415,13 @@ fn middle_function_test() {
|
|||||||
|
|
||||||
let area_target = 0.92;
|
let area_target = 0.92;
|
||||||
|
|
||||||
{
|
verify_function(
|
||||||
let (back_values, bars, derivative) = function.run_back();
|
integral_num,
|
||||||
assert!(derivative.is_none());
|
pixel_width,
|
||||||
assert!(bars.is_none());
|
&mut function,
|
||||||
assert_eq!(back_values.len(), pixel_width);
|
back_values_target,
|
||||||
let back_values_tuple: Vec<(f64, f64)> =
|
area_target,
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -468,43 +450,11 @@ fn right_function_test() {
|
|||||||
|
|
||||||
let area_target = 0.8800000000000001;
|
let area_target = 0.8800000000000001;
|
||||||
|
|
||||||
{
|
verify_function(
|
||||||
let (back_values, bars, derivative) = function.run_back();
|
integral_num,
|
||||||
assert!(derivative.is_none());
|
pixel_width,
|
||||||
assert!(bars.is_none());
|
&mut function,
|
||||||
assert_eq!(back_values.len(), pixel_width);
|
back_values_target,
|
||||||
let back_values_tuple: Vec<(f64, f64)> =
|
area_target,
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user