From 7a98924965de49ca38a52f65f755499d2bae566e Mon Sep 17 00:00:00 2001 From: Rendo Date: Sun, 9 Nov 2025 01:18:13 +0500 Subject: [PATCH] basic tests done, fixed children calculation problem --- src/main.rs | 16 +--------------- src/node/node_modifier.rs | 4 ++-- src/tests.rs | 9 ++++++++- 3 files changed, 11 insertions(+), 18 deletions(-) diff --git a/src/main.rs b/src/main.rs index e1b67d2..3aac0ff 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,18 +5,4 @@ mod node; #[cfg(test)] mod tests; -fn main() { - let mut formula = Formula::new(); - formula - .modify_tree() - .insert_node(Node::function(|inputs| inputs.iter().sum(), Some(2)), None); - if let Err(x) = formula - .modify_tree() - .go_down(0) - .add_node(Node::number(1f64)) - { - println!("{x}"); - } - formula.display_tree(); - let results = formula.run(vec![0f64, 1f64, 2f64, 3f64, 4f64, 5f64]); -} +fn main() {} diff --git a/src/node/node_modifier.rs b/src/node/node_modifier.rs index 655a104..b41047c 100644 --- a/src/node/node_modifier.rs +++ b/src/node/node_modifier.rs @@ -91,7 +91,7 @@ impl<'a> NodeModifier<'a> { pub fn add_node(&mut self, node: Node) -> Result<(), NodeManipulationError> { if let Some(x) = self.picked_node.max_children_count { - if self.picked_node.children.len() + 1 >= x { + if self.picked_node.children.len() + 1 > x { return Err(NodeManipulationError::TooMuchChildren(node)); } } @@ -105,7 +105,7 @@ impl<'a> NodeModifier<'a> { between: Option, ) -> Result<(), NodeManipulationError> { if let Some(x) = self.picked_node.max_children_count { - if self.picked_node.children.len() + 1 >= x { + if self.picked_node.children.len() + 1 > x { return Err(NodeManipulationError::TooMuchChildren(node)); } } diff --git a/src/tests.rs b/src/tests.rs index 8a16cb1..c30e886 100644 --- a/src/tests.rs +++ b/src/tests.rs @@ -31,7 +31,14 @@ fn test_branch_sum() { .is_err() == false ); - assert!(formula.modify_tree().add_node(Node::number(1f64)).is_err() == false); + assert!( + formula + .modify_tree() + .go_down(0) + .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])