public override IMutableBits NewLiveDocs(int size) { BitVector bitVector = new BitVector(size); bitVector.InvertAll(); return(bitVector); }
public virtual void TestMostlySet() { Directory d = NewDirectory(); int numBits = TestUtil.NextInt32(Random, 30, 1000); for (int numClear = 0; numClear < 20; numClear++) { BitVector bv = new BitVector(numBits); bv.InvertAll(); int count = 0; while (count < numClear) { int bit = Random.Next(numBits); // Don't use getAndClear, so that count is recomputed if (bv.Get(bit)) { bv.Clear(bit); count++; Assert.AreEqual(numBits - count, bv.Count()); } } } d.Dispose(); }
private void DoTestDgaps(int size, int count1, int count2) { MockDirectoryWrapper d = new MockDirectoryWrapper(Random, new RAMDirectory()); d.PreventDoubleWrite = false; BitVector bv = new BitVector(size); bv.InvertAll(); for (int i = 0; i < count1; i++) { bv.Clear(i); Assert.AreEqual(i + 1, size - bv.Count()); } bv.Write(d, "TESTBV", NewIOContext(Random)); // gradually increase number of set bits for (int i = count1; i < count2; i++) { BitVector bv2 = new BitVector(d, "TESTBV", NewIOContext(Random)); Assert.IsTrue(DoCompare(bv, bv2)); bv = bv2; bv.Clear(i); Assert.AreEqual(i + 1, size - bv.Count()); bv.Write(d, "TESTBV", NewIOContext(Random)); } // now start decreasing number of set bits for (int i = count2 - 1; i >= count1; i--) { BitVector bv2 = new BitVector(d, "TESTBV", NewIOContext(Random)); Assert.IsTrue(DoCompare(bv, bv2)); bv = bv2; bv.Set(i); Assert.AreEqual(i, size - bv.Count()); bv.Write(d, "TESTBV", NewIOContext(Random)); } }
public virtual void TestClearedBitNearEnd() { Directory d = NewDirectory(); int numBits = TestUtil.NextInt(Random(), 7, 1000); BitVector bv = new BitVector(numBits); bv.InvertAll(); bv.Clear(numBits - TestUtil.NextInt(Random(), 1, 7)); bv.Write(d, "test", NewIOContext(Random())); Assert.AreEqual(numBits - 1, bv.Count()); d.Dispose(); }
public virtual void TestClearedBitNearEnd() { Directory d = NewDirectory(); int numBits = TestUtil.NextInt32(Random, 7, 1000); BitVector bv = new BitVector(numBits); bv.InvertAll(); bv.Clear(numBits - TestUtil.NextInt32(Random, 1, 7)); bv.Write(d, "test", NewIOContext(Random)); Assert.AreEqual(numBits - 1, bv.Count()); d.Dispose(); }
public virtual void TestSparseWrite() { Directory d = NewDirectory(); const int numBits = 10240; BitVector bv = new BitVector(numBits); bv.InvertAll(); int numToClear = Random.Next(5); for (int i = 0; i < numToClear; i++) { bv.Clear(Random.Next(numBits)); } bv.Write(d, "test", NewIOContext(Random)); long size = d.FileLength("test"); Assert.IsTrue(size < 100, "size=" + size); d.Dispose(); }
private void DoTestDgaps(int size, int count1, int count2) { MockDirectoryWrapper d = new MockDirectoryWrapper(Random(), new RAMDirectory()); d.PreventDoubleWrite = false; BitVector bv = new BitVector(size); bv.InvertAll(); for (int i = 0; i < count1; i++) { bv.Clear(i); Assert.AreEqual(i + 1, size - bv.Count()); } bv.Write(d, "TESTBV", NewIOContext(Random())); // gradually increase number of set bits for (int i = count1; i < count2; i++) { BitVector bv2 = new BitVector(d, "TESTBV", NewIOContext(Random())); Assert.IsTrue(DoCompare(bv, bv2)); bv = bv2; bv.Clear(i); Assert.AreEqual(i + 1, size - bv.Count()); bv.Write(d, "TESTBV", NewIOContext(Random())); } // now start decreasing number of set bits for (int i = count2 - 1; i >= count1; i--) { BitVector bv2 = new BitVector(d, "TESTBV", NewIOContext(Random())); Assert.IsTrue(DoCompare(bv, bv2)); bv = bv2; bv.Set(i); Assert.AreEqual(i, size - bv.Count()); bv.Write(d, "TESTBV", NewIOContext(Random())); } }
public virtual void TestSparseWrite() { Directory d = NewDirectory(); const int numBits = 10240; BitVector bv = new BitVector(numBits); bv.InvertAll(); int numToClear = Random().Next(5); for (int i = 0; i < numToClear; i++) { bv.Clear(Random().Next(numBits)); } bv.Write(d, "test", NewIOContext(Random())); long size = d.FileLength("test"); Assert.IsTrue(size < 100, "size=" + size); d.Dispose(); }
public virtual void TestMostlySet() { Directory d = NewDirectory(); int numBits = TestUtil.NextInt(Random(), 30, 1000); for (int numClear = 0; numClear < 20; numClear++) { BitVector bv = new BitVector(numBits); bv.InvertAll(); int count = 0; while (count < numClear) { int bit = Random().Next(numBits); // Don't use getAndClear, so that count is recomputed if (bv.Get(bit)) { bv.Clear(bit); count++; Assert.AreEqual(numBits - count, bv.Count()); } } } d.Dispose(); }
public override MutableBits NewLiveDocs(int size) { BitVector bitVector = new BitVector(size); bitVector.InvertAll(); return bitVector; }