Added rudimentary test for empty input

This commit is contained in:
Michael J. Curry
2016-10-28 12:52:32 -04:00
parent d46d453c4a
commit 532799f2e4

View File

@@ -9,9 +9,9 @@ const LEVEL_LOG_SIZE: f64 = 0.75;
impl MergePolicy for LogMergePolicy {
fn compute_merge_candidates(&self, segments: &[SegmentMeta]) -> Vec<MergeCandidate> {
// 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);
}
}