package com.senseidb.search.query.filters; import org.junit.Test; public class TestDocIdSetCardinality { @Test public void testConstants() { DocIdSetCardinality c; DocSetAssertions.assertRange(0.0, 0.0, DocIdSetCardinality.zero()); DocSetAssertions.assertRange(1.0, 1.0, DocIdSetCardinality.one()); DocSetAssertions.assertRange(0.0, 1.0, DocIdSetCardinality.random()); DocSetAssertions.assertRange(0.5, 0.5, DocIdSetCardinality.exact(.5)); DocSetAssertions.assertRange(0.5, 0.5, DocIdSetCardinality.exact(5, 10)); } @Test public void testAnds() { DocIdSetCardinality c; c = new DocIdSetCardinality(0.1, 0.9); c.andWith(new DocIdSetCardinality(0.1, 0.9)); DocSetAssertions.assertRange(0, 0.9, c); c = new DocIdSetCardinality(0.8, 0.9); c.andWith(new DocIdSetCardinality(0.8, 0.9)); DocSetAssertions.assertRange(0.6, 0.9, c); } @Test public void testOrs() { DocIdSetCardinality c; c = new DocIdSetCardinality(0.1, 0.2); c.orWith(new DocIdSetCardinality(0.1, 0.2)); DocSetAssertions.assertRange(0.1, 0.4, c); c = new DocIdSetCardinality(0.8, 0.9); c.orWith(new DocIdSetCardinality(0.8, 0.9)); DocSetAssertions.assertRange(0.8, 1.0, c); } @Test public void testNot() { DocIdSetCardinality c; c = new DocIdSetCardinality(0.1, 0.2); c.invert(); DocSetAssertions.assertRange(0.8, 0.9, c); } }