From 3fd6d7125b7a4842d498a0ac4d0ba986dcfb002e Mon Sep 17 00:00:00 2001 From: Paul Masurel Date: Tue, 20 Feb 2018 13:12:05 +0900 Subject: [PATCH] Added unit test --- src/indexer/index_writer.rs | 6 +++++- src/query/vec_docset.rs | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/indexer/index_writer.rs b/src/indexer/index_writer.rs index 28c428924..0fbb9913c 100644 --- a/src/indexer/index_writer.rs +++ b/src/indexer/index_writer.rs @@ -359,7 +359,11 @@ impl IndexWriter { .add_segment(self.generation, segment_entry); } - #[doc(hidden)] + /// *Experimental & Advanced API* Creates a new segment. + /// and marks it as currently in write. + /// + /// This method is useful only for users trying to do complex + /// operations, like converting an index format to another. pub fn new_segment(&self) -> Segment { self.segment_updater.new_segment() } diff --git a/src/query/vec_docset.rs b/src/query/vec_docset.rs index 1aa07861c..01ca081be 100644 --- a/src/query/vec_docset.rs +++ b/src/query/vec_docset.rs @@ -69,4 +69,20 @@ pub mod tests { assert_eq!(postings.skip_next(6000u32), SkipResult::End); } + #[test] + pub fn test_fill_buffer() { + let doc_ids: Vec = (1u32..210u32).collect(); + let mut postings = VecDocSet::from(doc_ids); + let mut buffer = vec![1000u32; 100]; + assert_eq!(postings.fill_buffer(&mut buffer[..]), 100); + for i in 0u32..100u32 { + assert_eq!(buffer[i as usize], i + 1); + } + assert_eq!(postings.fill_buffer(&mut buffer[..]), 100); + for i in 0u32..100u32 { + assert_eq!(buffer[i as usize], i + 101); + } + assert_eq!(postings.fill_buffer(&mut buffer[..]), 9); + } + }