diff options
author | Paul Masurel <paul.masurel@gmail.com> | 2017-02-28 20:43:16 +0900 |
---|---|---|
committer | Paul Masurel <paul.masurel@gmail.com> | 2017-03-10 09:05:51 +0900 |
commit | cc2f78184bf3e298e2efd70175e67bff66f7b7c7 (patch) | |
tree | 05142e4aa69320d42faae5a68ef87b81b8921fe4 /src/indexer/merge_policy.rs | |
parent | 673423f7628698df42ea9833d2e6ec9eee3ebe46 (diff) |
Added unit test for #96
Diffstat (limited to 'src/indexer/merge_policy.rs')
-rw-r--r-- | src/indexer/merge_policy.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/indexer/merge_policy.rs b/src/indexer/merge_policy.rs index ae10643..5e3adcf 100644 --- a/src/indexer/merge_policy.rs +++ b/src/indexer/merge_policy.rs @@ -43,3 +43,28 @@ impl MergePolicy for NoMergePolicy { } } + +#[cfg(test)] +pub mod tests { + + use super::*; + use core::SegmentId; + use core::SegmentMeta; + + #[derive(Debug)] + pub struct MergeWheneverPossible; + + impl MergePolicy for MergeWheneverPossible { + fn compute_merge_candidates(&self, segment_metas: &[SegmentMeta]) -> Vec<MergeCandidate> { + let segment_ids = segment_metas + .iter() + .map(|segment_meta| segment_meta.id()) + .collect::<Vec<SegmentId>>(); + vec!(MergeCandidate(segment_ids)) + } + + fn box_clone(&self) -> Box<MergePolicy> { + box MergeWheneverPossible + } + } +}
\ No newline at end of file |