From 532799f2e4efd71ae5c4ee181e2eae86c8925ee9 Mon Sep 17 00:00:00 2001 From: "Michael J. Curry" Date: Fri, 28 Oct 2016 12:52:32 -0400 Subject: [PATCH] Added rudimentary test for empty input --- src/indexer/log_merge_policy.rs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/indexer/log_merge_policy.rs b/src/indexer/log_merge_policy.rs index 9c741889a..216faa8fb 100644 --- a/src/indexer/log_merge_policy.rs +++ b/src/indexer/log_merge_policy.rs @@ -9,9 +9,9 @@ const LEVEL_LOG_SIZE: f64 = 0.75; impl MergePolicy for LogMergePolicy { fn compute_merge_candidates(&self, segments: &[SegmentMeta]) -> Vec { - // what about when segments is empty?? - // take log of size of each segment - // log2 + if segments.is_empty() { + return Vec::new(); + } let mut size_sorted_tuples = segments.iter() .map(|x| {x.num_docs}) .enumerate() @@ -52,3 +52,15 @@ impl Default for LogMergePolicy { LogMergePolicy } } + +#[cfg(test)] +mod tests { + use super::*; + use indexer::merge_policy::MergePolicy; + #[test] + fn test_log_merge_policy_empty() { + let y = Vec::new(); + let result_list = LogMergePolicy::default().compute_merge_candidates(&y); + assert!(result_list.len() == 0); + } +} \ No newline at end of file