![JAR search and dependency download from the Maven repository](/logo.png)
test.it.unimi.dsi.big.mg4j.search.NotDocumentIteratorTest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mg4j-big Show documentation
Show all versions of mg4j-big Show documentation
MG4J (Managing Gigabytes for Java) is a free full-text search engine for large document collections written in Java. The big version is a fork of the original MG4J that can handle more than 2^31 terms and documents.
The newest version!
package it.unimi.dsi.big.mg4j.search;
import static org.junit.Assert.assertEquals;
import java.io.IOException;
import org.junit.Test;
public class NotDocumentIteratorTest {
@Test
public void testNot() throws IOException {
DocumentIterator i = new IntArrayDocumentIterator( new long[] { 2, 4, 7 },
new int[][][] {
{ { 0, 1 }, { 1, 2 } },
{ { 1, 2 } },
{ {} },
} );
NotDocumentIterator notDocumentIterator = NotDocumentIterator.getInstance( i, 8 );
assertEquals( 0, notDocumentIterator.nextDocument() );
assertEquals( 0, notDocumentIterator.document() );
assertEquals( IntervalIterators.TRUE, notDocumentIterator.intervalIterator() );
assertEquals( 1, notDocumentIterator.nextDocument() );
assertEquals( IntervalIterators.TRUE, notDocumentIterator.intervalIterator() );
assertEquals( 3, notDocumentIterator.nextDocument() );
assertEquals( IntervalIterators.TRUE, notDocumentIterator.intervalIterator() );
assertEquals( 5, notDocumentIterator.nextDocument() );
assertEquals( 5, notDocumentIterator.document() );
assertEquals( IntervalIterators.TRUE, notDocumentIterator.intervalIterator() );
assertEquals( 6, notDocumentIterator.nextDocument() );
assertEquals( IntervalIterators.TRUE, notDocumentIterator.intervalIterator() );
assertEquals( -1, notDocumentIterator.nextDocument() );
assertEquals( -1, notDocumentIterator.nextDocument() );
notDocumentIterator.dispose();
}
@Test
public void testSkip() throws IOException {
DocumentIterator i = new IntArrayDocumentIterator( new long[] { 2, 4, 7 },
new int[][][] {
{ { 0, 1 }, { 1, 2 } },
{ { 1, 2 } },
{ {} },
} );
NotDocumentIterator notDocumentIterator = NotDocumentIterator.getInstance( i, 9 );
assertEquals( 3, notDocumentIterator.skipTo( 3 ) );
assertEquals( IntervalIterators.TRUE, notDocumentIterator.intervalIterator() );
assertEquals( 3, notDocumentIterator.skipTo( 2 ) );
assertEquals( 8, notDocumentIterator.skipTo( 8 ) );
assertEquals( DocumentIterator.END_OF_LIST, notDocumentIterator.skipTo( 9 ) );
assertEquals( -1, notDocumentIterator.nextDocument() );
assertEquals( -1, notDocumentIterator.nextDocument() );
}
@Test
public void testSkipAtStart() throws IOException {
DocumentIterator i = new IntArrayDocumentIterator( new long[] { 0, 3 },
new int[][][] {
{ { 0 } },
{ { 0 } },
} );
NotDocumentIterator notDocumentIterator = NotDocumentIterator.getInstance( i, 9 );
assertEquals( 1, notDocumentIterator.skipTo( 0 ) );
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy