﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class BaseDocIdSetTestCase&lt;T&gt;
   | Apache Lucene.NET 4.8.0-beta00008 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class BaseDocIdSetTestCase&lt;T&gt;
   | Apache Lucene.NET 4.8.0-beta00008 Documentation ">
    <meta name="generator" content="docfx 2.50.0.0">
    
    <link rel="shortcut icon" href="../../logo/favicon.ico">
    <link rel="stylesheet" href="../../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../../styles/docfx.css">
    <link rel="stylesheet" href="../../styles/main.css">
    <meta property="docfx:navrel" content="../../toc.html">
    <meta property="docfx:tocrel" content="../toc.html">
    
    <meta property="docfx:rel" content="../../">
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../../index.html">
                <img id="logo" class="svg" src="../../logo/lucene-net-color.png" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div class="container body-content">
        
        <div id="search-results">
          <div class="search-list"></div>
          <div class="sr-items">
            <p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
          </div>
          <ul id="pagination"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Lucene.Net.Util.BaseDocIdSetTestCase`1">
  
  
  <h1 id="Lucene_Net_Util_BaseDocIdSetTestCase_1" data-uid="Lucene.Net.Util.BaseDocIdSetTestCase`1" class="text-break">Class BaseDocIdSetTestCase&lt;T&gt;
  </h1>
  <div class="markdown level0 summary"><p>Base test class for <a class="xref" href="../Lucene.Net/Lucene.Net.Search.DocIdSet.html">DocIdSet</a>s. </p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><a class="xref" href="Lucene.Net.Util.LuceneTestCase.html">LuceneTestCase</a></div>
    <div class="level2"><span class="xref">BaseDocIdSetTestCase&lt;T&gt;</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_TEST_VERSION_CURRENT">LuceneTestCase.TEST_VERSION_CURRENT</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_VERBOSE">LuceneTestCase.VERBOSE</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_INFOSTREAM">LuceneTestCase.INFOSTREAM</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_RANDOM_MULTIPLIER">LuceneTestCase.RANDOM_MULTIPLIER</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_DEFAULT_LINE_DOCS_FILE">LuceneTestCase.DEFAULT_LINE_DOCS_FILE</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_JENKINS_LARGE_LINE_DOCS_FILE">LuceneTestCase.JENKINS_LARGE_LINE_DOCS_FILE</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_TEST_CODEC">LuceneTestCase.TEST_CODEC</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_TEST_POSTINGSFORMAT">LuceneTestCase.TEST_POSTINGSFORMAT</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_TEST_DOCVALUESFORMAT">LuceneTestCase.TEST_DOCVALUESFORMAT</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_TEST_DIRECTORY">LuceneTestCase.TEST_DIRECTORY</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_TEST_LINE_DOCS_FILE">LuceneTestCase.TEST_LINE_DOCS_FILE</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_LEAVE_TEMPORARY">LuceneTestCase.LEAVE_TEMPORARY</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_DoesntSupportOffsets">LuceneTestCase.DoesntSupportOffsets</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_OldFormatImpersonationIsActive">LuceneTestCase.OldFormatImpersonationIsActive</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_SuiteFailureMarker">LuceneTestCase.SuiteFailureMarker</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_SetUp">LuceneTestCase.SetUp()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_TearDown">LuceneTestCase.TearDown()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_CodecFactory">LuceneTestCase.CodecFactory</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_DocValuesFormatFactory">LuceneTestCase.DocValuesFormatFactory</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_PostingsFormatFactory">LuceneTestCase.PostingsFormatFactory</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_BeforeClass">LuceneTestCase.BeforeClass()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AfterClass">LuceneTestCase.AfterClass()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_Random">LuceneTestCase.Random</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_GetTestClass">LuceneTestCase.GetTestClass()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_TestName">LuceneTestCase.TestName</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_GetOnlySegmentReader_Lucene_Net_Index_DirectoryReader_">LuceneTestCase.GetOnlySegmentReader(DirectoryReader)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertSaneFieldCaches_System_String_">LuceneTestCase.AssertSaneFieldCaches(String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AtLeast_System_Random_System_Int32_">LuceneTestCase.AtLeast(Random, Int32)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AtLeast_System_Int32_">LuceneTestCase.AtLeast(Int32)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_Rarely_System_Random_">LuceneTestCase.Rarely(Random)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_Rarely">LuceneTestCase.Rarely()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_Usually_System_Random_">LuceneTestCase.Usually(Random)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_Usually">LuceneTestCase.Usually()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssumeTrue_System_String_System_Boolean_">LuceneTestCase.AssumeTrue(String, Boolean)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssumeFalse_System_String_System_Boolean_">LuceneTestCase.AssumeFalse(String, Boolean)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssumeNoException_System_String_System_Exception_">LuceneTestCase.AssumeNoException(String, Exception)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AsSet_System_Object___">LuceneTestCase.AsSet(Object[])</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_DumpEnumerator_System_String_System_Collections_IEnumerator_System_IO_TextWriter_">LuceneTestCase.DumpEnumerator(String, IEnumerator, TextWriter)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_DumpArray_System_String_System_Object___System_IO_TextWriter_">LuceneTestCase.DumpArray(String, Object[], TextWriter)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewIndexWriterConfig_Lucene_Net_Util_LuceneVersion_Lucene_Net_Analysis_Analyzer_">LuceneTestCase.NewIndexWriterConfig(LuceneVersion, Analyzer)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewIndexWriterConfig_System_Random_Lucene_Net_Util_LuceneVersion_Lucene_Net_Analysis_Analyzer_">LuceneTestCase.NewIndexWriterConfig(Random, LuceneVersion, Analyzer)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewMergePolicy_System_Random_">LuceneTestCase.NewMergePolicy(Random)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewMergePolicy">LuceneTestCase.NewMergePolicy()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewLogMergePolicy">LuceneTestCase.NewLogMergePolicy()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewTieredMergePolicy">LuceneTestCase.NewTieredMergePolicy()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewAlcoholicMergePolicy">LuceneTestCase.NewAlcoholicMergePolicy()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewAlcoholicMergePolicy_System_Random_System_TimeZoneInfo_">LuceneTestCase.NewAlcoholicMergePolicy(Random, TimeZoneInfo)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewLogMergePolicy_System_Random_">LuceneTestCase.NewLogMergePolicy(Random)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewTieredMergePolicy_System_Random_">LuceneTestCase.NewTieredMergePolicy(Random)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewLogMergePolicy_System_Boolean_">LuceneTestCase.NewLogMergePolicy(Boolean)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewLogMergePolicy_System_Boolean_System_Int32_">LuceneTestCase.NewLogMergePolicy(Boolean, Int32)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewLogMergePolicy_System_Int32_">LuceneTestCase.NewLogMergePolicy(Int32)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewDirectory">LuceneTestCase.NewDirectory()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewDirectory_System_Random_">LuceneTestCase.NewDirectory(Random)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewMockDirectory">LuceneTestCase.NewMockDirectory()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewMockDirectory_System_Random_">LuceneTestCase.NewMockDirectory(Random)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewMockFSDirectory_System_IO_DirectoryInfo_">LuceneTestCase.NewMockFSDirectory(DirectoryInfo)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewDirectory_Lucene_Net_Store_Directory_">LuceneTestCase.NewDirectory(Directory)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewFSDirectory_System_IO_DirectoryInfo_">LuceneTestCase.NewFSDirectory(DirectoryInfo)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewFSDirectory_System_IO_DirectoryInfo_Lucene_Net_Store_LockFactory_">LuceneTestCase.NewFSDirectory(DirectoryInfo, LockFactory)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewDirectory_System_Random_Lucene_Net_Store_Directory_">LuceneTestCase.NewDirectory(Random, Directory)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewStringField_System_String_System_String_Lucene_Net_Documents_Field_Store_">LuceneTestCase.NewStringField(String, String, Field.Store)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewTextField_System_String_System_String_Lucene_Net_Documents_Field_Store_">LuceneTestCase.NewTextField(String, String, Field.Store)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewStringField_System_Random_System_String_System_String_Lucene_Net_Documents_Field_Store_">LuceneTestCase.NewStringField(Random, String, String, Field.Store)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewTextField_System_Random_System_String_System_String_Lucene_Net_Documents_Field_Store_">LuceneTestCase.NewTextField(Random, String, String, Field.Store)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewField_System_String_System_String_Lucene_Net_Documents_FieldType_">LuceneTestCase.NewField(String, String, FieldType)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewField_System_Random_System_String_System_String_Lucene_Net_Documents_FieldType_">LuceneTestCase.NewField(Random, String, String, FieldType)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_RandomCulture_System_Random_">LuceneTestCase.RandomCulture(Random)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_RandomTimeZone_System_Random_">LuceneTestCase.RandomTimeZone(Random)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_CultureForName_System_String_">LuceneTestCase.CultureForName(String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_DefaultCodecSupportsDocValues">LuceneTestCase.DefaultCodecSupportsDocValues</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_MaybeWrapReader_Lucene_Net_Index_IndexReader_">LuceneTestCase.MaybeWrapReader(IndexReader)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewIOContext_System_Random_">LuceneTestCase.NewIOContext(Random)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewIOContext_System_Random_Lucene_Net_Store_IOContext_">LuceneTestCase.NewIOContext(Random, IOContext)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewSearcher_Lucene_Net_Index_IndexReader_">LuceneTestCase.NewSearcher(IndexReader)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewSearcher_Lucene_Net_Index_IndexReader_System_Boolean_">LuceneTestCase.NewSearcher(IndexReader, Boolean)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_NewSearcher_Lucene_Net_Index_IndexReader_System_Boolean_System_Boolean_">LuceneTestCase.NewSearcher(IndexReader, Boolean, Boolean)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_GetDataFile_System_String_">LuceneTestCase.GetDataFile(String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_DefaultCodecSupportsMissingDocValues">LuceneTestCase.DefaultCodecSupportsMissingDocValues</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_DefaultCodecSupportsSortedSet">LuceneTestCase.DefaultCodecSupportsSortedSet</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_DefaultCodecSupportsDocsWithField">LuceneTestCase.DefaultCodecSupportsDocsWithField</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_DefaultCodecSupportsFieldUpdates">LuceneTestCase.DefaultCodecSupportsFieldUpdates</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertReaderEquals_System_String_Lucene_Net_Index_IndexReader_Lucene_Net_Index_IndexReader_">LuceneTestCase.AssertReaderEquals(String, IndexReader, IndexReader)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertReaderStatisticsEquals_System_String_Lucene_Net_Index_IndexReader_Lucene_Net_Index_IndexReader_">LuceneTestCase.AssertReaderStatisticsEquals(String, IndexReader, IndexReader)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertFieldsEquals_System_String_Lucene_Net_Index_IndexReader_Lucene_Net_Index_Fields_Lucene_Net_Index_Fields_System_Boolean_">LuceneTestCase.AssertFieldsEquals(String, IndexReader, Fields, Fields, Boolean)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertFieldStatisticsEquals_System_String_Lucene_Net_Index_Fields_Lucene_Net_Index_Fields_">LuceneTestCase.AssertFieldStatisticsEquals(String, Fields, Fields)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertTermsEquals_System_String_Lucene_Net_Index_IndexReader_Lucene_Net_Index_Terms_Lucene_Net_Index_Terms_System_Boolean_">LuceneTestCase.AssertTermsEquals(String, IndexReader, Terms, Terms, Boolean)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertTermsStatisticsEquals_System_String_Lucene_Net_Index_Terms_Lucene_Net_Index_Terms_">LuceneTestCase.AssertTermsStatisticsEquals(String, Terms, Terms)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertTermsEnumEquals_System_String_Lucene_Net_Index_IndexReader_Lucene_Net_Index_TermsEnum_Lucene_Net_Index_TermsEnum_System_Boolean_">LuceneTestCase.AssertTermsEnumEquals(String, IndexReader, TermsEnum, TermsEnum, Boolean)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertDocsAndPositionsEnumEquals_System_String_Lucene_Net_Index_DocsAndPositionsEnum_Lucene_Net_Index_DocsAndPositionsEnum_">LuceneTestCase.AssertDocsAndPositionsEnumEquals(String, DocsAndPositionsEnum, DocsAndPositionsEnum)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertDocsEnumEquals_System_String_Lucene_Net_Index_DocsEnum_Lucene_Net_Index_DocsEnum_System_Boolean_">LuceneTestCase.AssertDocsEnumEquals(String, DocsEnum, DocsEnum, Boolean)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertDocsSkippingEquals_System_String_Lucene_Net_Index_IndexReader_System_Int32_Lucene_Net_Index_DocsEnum_Lucene_Net_Index_DocsEnum_System_Boolean_">LuceneTestCase.AssertDocsSkippingEquals(String, IndexReader, Int32, DocsEnum, DocsEnum, Boolean)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertPositionsSkippingEquals_System_String_Lucene_Net_Index_IndexReader_System_Int32_Lucene_Net_Index_DocsAndPositionsEnum_Lucene_Net_Index_DocsAndPositionsEnum_">LuceneTestCase.AssertPositionsSkippingEquals(String, IndexReader, Int32, DocsAndPositionsEnum, DocsAndPositionsEnum)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertTermStatsEquals_System_String_Lucene_Net_Index_TermsEnum_Lucene_Net_Index_TermsEnum_">LuceneTestCase.AssertTermStatsEquals(String, TermsEnum, TermsEnum)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertNormsEquals_System_String_Lucene_Net_Index_IndexReader_Lucene_Net_Index_IndexReader_">LuceneTestCase.AssertNormsEquals(String, IndexReader, IndexReader)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertStoredFieldsEquals_System_String_Lucene_Net_Index_IndexReader_Lucene_Net_Index_IndexReader_">LuceneTestCase.AssertStoredFieldsEquals(String, IndexReader, IndexReader)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertStoredFieldEquals_System_String_Lucene_Net_Index_IIndexableField_Lucene_Net_Index_IIndexableField_">LuceneTestCase.AssertStoredFieldEquals(String, IIndexableField, IIndexableField)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertTermVectorsEquals_System_String_Lucene_Net_Index_IndexReader_Lucene_Net_Index_IndexReader_">LuceneTestCase.AssertTermVectorsEquals(String, IndexReader, IndexReader)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertDocValuesEquals_System_String_Lucene_Net_Index_IndexReader_Lucene_Net_Index_IndexReader_">LuceneTestCase.AssertDocValuesEquals(String, IndexReader, IndexReader)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertDocValuesEquals_System_String_System_Int32_Lucene_Net_Index_NumericDocValues_Lucene_Net_Index_NumericDocValues_">LuceneTestCase.AssertDocValuesEquals(String, Int32, NumericDocValues, NumericDocValues)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertDeletedDocsEquals_System_String_Lucene_Net_Index_IndexReader_Lucene_Net_Index_IndexReader_">LuceneTestCase.AssertDeletedDocsEquals(String, IndexReader, IndexReader)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_AssertFieldInfosEquals_System_String_Lucene_Net_Index_IndexReader_Lucene_Net_Index_IndexReader_">LuceneTestCase.AssertFieldInfosEquals(String, IndexReader, IndexReader)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_SlowFileExists_Lucene_Net_Store_Directory_System_String_">LuceneTestCase.SlowFileExists(Directory, String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_CreateTempDir">LuceneTestCase.CreateTempDir()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_CreateTempDir_System_String_">LuceneTestCase.CreateTempDir(String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_CreateTempFile_System_String_System_String_">LuceneTestCase.CreateTempFile(String, String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_CreateTempFile">LuceneTestCase.CreateTempFile()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_GetFullMethodName_System_String_">LuceneTestCase.GetFullMethodName(String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Util.LuceneTestCase.html#Lucene_Net_Util_LuceneTestCase_RandomGaussian">LuceneTestCase.RandomGaussian()</a>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetHashCode()</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.ToString()</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="../Lucene.Net.Benchmarks/Lucene.Net.Util.html">Lucene.Net.Util</a></h6>
  <h6><strong>Assembly</strong>: Lucene.Net.TestFramework.dll</h6>
  <h5 id="Lucene_Net_Util_BaseDocIdSetTestCase_1_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract class BaseDocIdSetTestCase&lt;T&gt; : LuceneTestCase where T : DocIdSet</code></pre>
  </div>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">T</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Util_BaseDocIdSetTestCase_1_AssertEquals_System_Int32_System_Collections_BitArray__0_.md&amp;value=---%0Auid%3A%20Lucene.Net.Util.BaseDocIdSetTestCase%601.AssertEquals(System.Int32%2CSystem.Collections.BitArray%2C%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.TestFramework/Util/BaseDocIdSetTestCase.cs/#L178">View Source</a>
  </span>
  <a id="Lucene_Net_Util_BaseDocIdSetTestCase_1_AssertEquals_" data-uid="Lucene.Net.Util.BaseDocIdSetTestCase`1.AssertEquals*"></a>
  <h4 id="Lucene_Net_Util_BaseDocIdSetTestCase_1_AssertEquals_System_Int32_System_Collections_BitArray__0_" data-uid="Lucene.Net.Util.BaseDocIdSetTestCase`1.AssertEquals(System.Int32,System.Collections.BitArray,`0)">AssertEquals(Int32, BitArray, T)</h4>
  <div class="markdown level1 summary"><p>Assert that the content of the <a class="xref" href="../Lucene.Net/Lucene.Net.Search.DocIdSet.html">DocIdSet</a> is the same as the content of the <span class="xref">System.Collections.BitArray</span>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual void AssertEquals(int numBits, BitArray ds1, T ds2)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">numBits</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Collections.BitArray</span></td>
        <td><span class="parametername">ds1</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">T</span></td>
        <td><span class="parametername">ds2</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Util_BaseDocIdSetTestCase_1_CopyOf_System_Collections_BitArray_System_Int32_.md&amp;value=---%0Auid%3A%20Lucene.Net.Util.BaseDocIdSetTestCase%601.CopyOf(System.Collections.BitArray%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.TestFramework/Util/BaseDocIdSetTestCase.cs/#L55">View Source</a>
  </span>
  <a id="Lucene_Net_Util_BaseDocIdSetTestCase_1_CopyOf_" data-uid="Lucene.Net.Util.BaseDocIdSetTestCase`1.CopyOf*"></a>
  <h4 id="Lucene_Net_Util_BaseDocIdSetTestCase_1_CopyOf_System_Collections_BitArray_System_Int32_" data-uid="Lucene.Net.Util.BaseDocIdSetTestCase`1.CopyOf(System.Collections.BitArray,System.Int32)">CopyOf(BitArray, Int32)</h4>
  <div class="markdown level1 summary"><p>Create a copy of the given <span class="xref">System.Collections.BitArray</span> which has <code data-dev-comment-type="paramref" class="paramref">length</code> bits. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract T CopyOf(BitArray bs, int length)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.BitArray</span></td>
        <td><span class="parametername">bs</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">length</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">T</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Util_BaseDocIdSetTestCase_1_RandomSet_System_Int32_System_Int32_.md&amp;value=---%0Auid%3A%20Lucene.Net.Util.BaseDocIdSetTestCase%601.RandomSet(System.Int32%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.TestFramework/Util/BaseDocIdSetTestCase.cs/#L59">View Source</a>
  </span>
  <a id="Lucene_Net_Util_BaseDocIdSetTestCase_1_RandomSet_" data-uid="Lucene.Net.Util.BaseDocIdSetTestCase`1.RandomSet*"></a>
  <h4 id="Lucene_Net_Util_BaseDocIdSetTestCase_1_RandomSet_System_Int32_System_Int32_" data-uid="Lucene.Net.Util.BaseDocIdSetTestCase`1.RandomSet(System.Int32,System.Int32)">RandomSet(Int32, Int32)</h4>
  <div class="markdown level1 summary"><p>Create a random set which has <code data-dev-comment-type="paramref" class="paramref">numBitsSet</code> of its <code data-dev-comment-type="paramref" class="paramref">numBits</code> bits set. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected static BitArray RandomSet(int numBits, int numBitsSet)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">numBits</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">numBitsSet</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.BitArray</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Util_BaseDocIdSetTestCase_1_RandomSet_System_Int32_System_Single_.md&amp;value=---%0Auid%3A%20Lucene.Net.Util.BaseDocIdSetTestCase%601.RandomSet(System.Int32%2CSystem.Single)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.TestFramework/Util/BaseDocIdSetTestCase.cs/#L88">View Source</a>
  </span>
  <a id="Lucene_Net_Util_BaseDocIdSetTestCase_1_RandomSet_" data-uid="Lucene.Net.Util.BaseDocIdSetTestCase`1.RandomSet*"></a>
  <h4 id="Lucene_Net_Util_BaseDocIdSetTestCase_1_RandomSet_System_Int32_System_Single_" data-uid="Lucene.Net.Util.BaseDocIdSetTestCase`1.RandomSet(System.Int32,System.Single)">RandomSet(Int32, Single)</h4>
  <div class="markdown level1 summary"><p>Same as <a class="xref" href="Lucene.Net.Util.BaseDocIdSetTestCase-1.html#Lucene_Net_Util_BaseDocIdSetTestCase_1_RandomSet_System_Int32_System_Int32_">RandomSet(Int32, Int32)</a> but given a load factor. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected static BitArray RandomSet(int numBits, float percentSet)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">numBits</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Single</span></td>
        <td><span class="parametername">percentSet</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.BitArray</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Util_BaseDocIdSetTestCase_1_Test1Bit.md&amp;value=---%0Auid%3A%20Lucene.Net.Util.BaseDocIdSetTestCase%601.Test1Bit%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.TestFramework/Util/BaseDocIdSetTestCase.cs/#L107">View Source</a>
  </span>
  <a id="Lucene_Net_Util_BaseDocIdSetTestCase_1_Test1Bit_" data-uid="Lucene.Net.Util.BaseDocIdSetTestCase`1.Test1Bit*"></a>
  <h4 id="Lucene_Net_Util_BaseDocIdSetTestCase_1_Test1Bit" data-uid="Lucene.Net.Util.BaseDocIdSetTestCase`1.Test1Bit">Test1Bit()</h4>
  <div class="markdown level1 summary"><p>Test length=1.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Test]
public virtual void Test1Bit()</code></pre>
  </div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Util_BaseDocIdSetTestCase_1_Test2Bits.md&amp;value=---%0Auid%3A%20Lucene.Net.Util.BaseDocIdSetTestCase%601.Test2Bits%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.TestFramework/Util/BaseDocIdSetTestCase.cs/#L122">View Source</a>
  </span>
  <a id="Lucene_Net_Util_BaseDocIdSetTestCase_1_Test2Bits_" data-uid="Lucene.Net.Util.BaseDocIdSetTestCase`1.Test2Bits*"></a>
  <h4 id="Lucene_Net_Util_BaseDocIdSetTestCase_1_Test2Bits" data-uid="Lucene.Net.Util.BaseDocIdSetTestCase`1.Test2Bits">Test2Bits()</h4>
  <div class="markdown level1 summary"><p>Test length=2.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Test]
public virtual void Test2Bits()</code></pre>
  </div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Util_BaseDocIdSetTestCase_1_TestAgainstBitSet.md&amp;value=---%0Auid%3A%20Lucene.Net.Util.BaseDocIdSetTestCase%601.TestAgainstBitSet%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.TestFramework/Util/BaseDocIdSetTestCase.cs/#L141">View Source</a>
  </span>
  <a id="Lucene_Net_Util_BaseDocIdSetTestCase_1_TestAgainstBitSet_" data-uid="Lucene.Net.Util.BaseDocIdSetTestCase`1.TestAgainstBitSet*"></a>
  <h4 id="Lucene_Net_Util_BaseDocIdSetTestCase_1_TestAgainstBitSet" data-uid="Lucene.Net.Util.BaseDocIdSetTestCase`1.TestAgainstBitSet">TestAgainstBitSet()</h4>
  <div class="markdown level1 summary"><p>Compare the content of the set against a <span class="xref">System.Collections.BitArray</span>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Test]
public virtual void TestAgainstBitSet()</code></pre>
  </div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Util_BaseDocIdSetTestCase_1_TestNoBit.md&amp;value=---%0Auid%3A%20Lucene.Net.Util.BaseDocIdSetTestCase%601.TestNoBit%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.TestFramework/Util/BaseDocIdSetTestCase.cs/#L96">View Source</a>
  </span>
  <a id="Lucene_Net_Util_BaseDocIdSetTestCase_1_TestNoBit_" data-uid="Lucene.Net.Util.BaseDocIdSetTestCase`1.TestNoBit*"></a>
  <h4 id="Lucene_Net_Util_BaseDocIdSetTestCase_1_TestNoBit" data-uid="Lucene.Net.Util.BaseDocIdSetTestCase`1.TestNoBit">TestNoBit()</h4>
  <div class="markdown level1 summary"><p>Test length=0.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Test]
public virtual void TestNoBit()</code></pre>
  </div>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Util_BaseDocIdSetTestCase_1.md&amp;value=---%0Auid%3A%20Lucene.Net.Util.BaseDocIdSetTestCase%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
                  </li>
                  <li>
                    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.TestFramework/Util/BaseDocIdSetTestCase.cs/#L39" class="contribution-link">View Source</a>
                  </li>
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            Copyright © 2020 Licensed to the Apache Software Foundation (ASF)
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../../styles/docfx.js"></script>
    <script type="text/javascript" src="../../styles/main.js"></script>
  </body>
</html>
