From 4d7946291cbefd53c979e963482a9e357121527d Mon Sep 17 00:00:00 2001 From: Denis Smirnov <sd@picodata.io> Date: Fri, 17 Dec 2021 11:54:39 +0700 Subject: [PATCH] refactoring: move plan tests to a separate file. --- src/ir.rs | 66 +------------------------------------------------ src/ir/tests.rs | 63 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 65 deletions(-) create mode 100644 src/ir/tests.rs diff --git a/src/ir.rs b/src/ir.rs index 93a00e3654..82ed8306d4 100644 --- a/src/ir.rs +++ b/src/ir.rs @@ -638,68 +638,4 @@ impl<'n> Iterator for BranchIterator<'n> { } #[cfg(test)] -mod tests { - use super::*; - use crate::ir::relation::*; - use pretty_assertions::assert_eq; - use std::fs; - use std::path::Path; - - #[test] - fn plan_no_top() { - let path = Path::new("") - .join("tests") - .join("artifactory") - .join("ir") - .join("plan_no_top.yaml"); - let s = fs::read_to_string(path).unwrap(); - assert_eq!( - QueryPlannerError::InvalidPlan, - Plan::from_yaml(&s).unwrap_err() - ); - } - - #[test] - fn plan_oor_top() { - let path = Path::new("") - .join("tests") - .join("artifactory") - .join("ir") - .join("plan_oor_top.yaml"); - let s = fs::read_to_string(path).unwrap(); - assert_eq!( - QueryPlannerError::ValueOutOfRange, - Plan::from_yaml(&s).unwrap_err() - ); - } - - #[test] - fn get_node() { - let mut plan = Plan::empty(); - - let t = Table::new_seg("t", vec![Column::new("a", Type::Boolean)], &["a"]).unwrap(); - plan.add_rel(t); - - let scan = Relational::new_scan("t", &mut plan).unwrap(); - let scan_id = vec_alloc(&mut plan.nodes, Node::Relational(scan)); - - if let Node::Relational(Relational::ScanRelation { relation, .. }) = - plan.get_node(scan_id).unwrap() - { - assert_eq!(relation, "t"); - } else { - panic!("Unexpected node returned!") - } - } - - #[test] - fn get_node_oor() { - let plan = Plan::empty(); - assert_eq!( - QueryPlannerError::ValueOutOfRange, - plan.get_node(42).unwrap_err() - ); - } - - //TODO: add relation test -} +mod tests; diff --git a/src/ir/tests.rs b/src/ir/tests.rs new file mode 100644 index 0000000000..d9f1ac9634 --- /dev/null +++ b/src/ir/tests.rs @@ -0,0 +1,63 @@ +use super::*; +use crate::ir::relation::*; +use pretty_assertions::assert_eq; +use std::fs; +use std::path::Path; + +#[test] +fn plan_no_top() { + let path = Path::new("") + .join("tests") + .join("artifactory") + .join("ir") + .join("plan_no_top.yaml"); + let s = fs::read_to_string(path).unwrap(); + assert_eq!( + QueryPlannerError::InvalidPlan, + Plan::from_yaml(&s).unwrap_err() + ); +} + +#[test] +fn plan_oor_top() { + let path = Path::new("") + .join("tests") + .join("artifactory") + .join("ir") + .join("plan_oor_top.yaml"); + let s = fs::read_to_string(path).unwrap(); + assert_eq!( + QueryPlannerError::ValueOutOfRange, + Plan::from_yaml(&s).unwrap_err() + ); +} + +#[test] +fn get_node() { + let mut plan = Plan::empty(); + + let t = Table::new_seg("t", vec![Column::new("a", Type::Boolean)], &["a"]).unwrap(); + plan.add_rel(t); + + let scan = Relational::new_scan("t", &mut plan).unwrap(); + let scan_id = vec_alloc(&mut plan.nodes, Node::Relational(scan)); + + if let Node::Relational(Relational::ScanRelation { relation, .. }) = + plan.get_node(scan_id).unwrap() + { + assert_eq!(relation, "t"); + } else { + panic!("Unexpected node returned!") + } +} + +#[test] +fn get_node_oor() { + let plan = Plan::empty(); + assert_eq!( + QueryPlannerError::ValueOutOfRange, + plan.get_node(42).unwrap_err() + ); +} + +//TODO: add relation test -- GitLab