Add basic tests for ObjecitiveFun struct
This commit is contained in:
parent
2993580861
commit
f1abeb26d7
@ -82,3 +82,32 @@ impl<T: XVar<E>, E> Fun<T, E> {
|
|||||||
Fun { function, prime }
|
Fun { function, prime }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_eval() {
|
||||||
|
let function = Box::new(|x: &[f64]| -> f64 { x[0] + x[1] });
|
||||||
|
let fun_with_numerical_diff = FunWithNumericalDiff {
|
||||||
|
function,
|
||||||
|
dx: 1e-6,
|
||||||
|
style: DiffStyle::ForwardDifference,
|
||||||
|
};
|
||||||
|
assert_eq!(fun_with_numerical_diff.eval(&vec![1.0, 2.0]), 3.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_prime() {
|
||||||
|
let function = Box::new(|x: &[f64]| -> f64 { x[0] + x[1] });
|
||||||
|
let fun_with_numerical_diff = FunWithNumericalDiff {
|
||||||
|
function,
|
||||||
|
dx: 1e-6,
|
||||||
|
style: DiffStyle::ForwardDifference,
|
||||||
|
};
|
||||||
|
let prime = fun_with_numerical_diff.prime(&vec![1.0, 2.0]);
|
||||||
|
assert!(prime[0] - 1.0 < 1e-6);
|
||||||
|
assert!(prime[1] - 1.0 < 1e-6);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user