This commit is contained in:
Rendo 2025-11-09 01:15:52 +05:00
commit 9c487308be
6 changed files with 127 additions and 11 deletions

38
src/tests.rs Normal file
View file

@ -0,0 +1,38 @@
use crate::{formula::Formula, node::Node};
#[test]
fn test_node_variable() {
let formula = Formula::new();
let results = formula.run(vec![0f64, 1f64, 2f64, 3f64, 4f64, 5f64]);
assert_eq!(results, vec![0f64, 1f64, 2f64, 3f64, 4f64, 5f64])
}
#[test]
fn test_plus_one() {
let mut formula = Formula::new();
assert!(
formula
.modify_tree()
.insert_node(Node::function(|inputs| inputs[0] + 1f64, Some(1)), None)
.is_err()
== false
);
let results = formula.run(vec![0f64, 1f64, 2f64, 3f64, 4f64, 5f64]);
assert_eq!(results, vec![1f64, 2f64, 3f64, 4f64, 5f64, 6f64])
}
#[test]
fn test_branch_sum() {
let mut formula = Formula::new();
assert!(
formula
.modify_tree()
.insert_node(Node::function(|inputs| inputs.iter().sum(), Some(2)), None)
.is_err()
== false
);
assert!(formula.modify_tree().add_node(Node::number(1f64)).is_err() == false);
formula.display_tree();
let results = formula.run(vec![0f64, 1f64, 2f64, 3f64, 4f64, 5f64]);
assert_eq!(results, vec![1f64, 2f64, 3f64, 4f64, 5f64, 6f64])
}