org.apache.lucene.index

## Class BaseIndexFileFormatTestCase

- java.lang.Object
- - org.junit.Assert
  - - org.apache.lucene.util.LuceneTestCase
    - - org.apache.lucene.index.BaseIndexFileFormatTestCase

Direct Known Subclasses:
  BaseCompoundFormatTestCase, BaseDocValuesFormatTestCase, BaseFieldInfoFormatTestCase, BaseNormsFormatTestCase, BasePointsFormatTestCase, BasePostingsFormatTestCase, BaseSegmentInfoFormatTestCase, BaseStoredFieldsFormatTestCase, BaseTermVectorsFormatTestCase

    public abstract class BaseIndexFileFormatTestCase
    extends LuceneTestCase

Common tests to all index formats.

### Nested Class Summary

Nested Classes
`protected static class` `BaseIndexFileFormatTestCase.FileTrackingDirectoryWrapper` A directory that tracks created files that haven't been deleted.
`protected static class` `BaseIndexFileFormatTestCase.ReadBytesDirectoryWrapper` A directory that tracks read bytes.

### Nested classes/interfaces inherited from class org.apache.lucene.util.LuceneTestCase

`LuceneTestCase.AwaitsFix, LuceneTestCase.BadApple, LuceneTestCase.Monster, LuceneTestCase.Nightly, LuceneTestCase.Slow, LuceneTestCase.SuppressCodecs, LuceneTestCase.SuppressFileSystems, LuceneTestCase.SuppressFsync, LuceneTestCase.SuppressReproduceLine, LuceneTestCase.SuppressSysoutChecks, LuceneTestCase.SuppressTempFileChecks, LuceneTestCase.ThrowingRunnable, LuceneTestCase.Weekly`

### Field Summary

### Fields inherited from class org.apache.lucene.util.LuceneTestCase

`assertsAreEnabled, classRules, DEFAULT_LINE_DOCS_FILE, INFOSTREAM, JENKINS_LARGE_LINE_DOCS_FILE, LEAVE_TEMPORARY, MAYBE_CACHE_POLICY, RANDOM_MULTIPLIER, ruleChain, suiteFailureMarker, SYSPROP_AWAITSFIX, SYSPROP_BADAPPLES, SYSPROP_FAILFAST, SYSPROP_MAXFAILURES, SYSPROP_MONSTER, SYSPROP_NIGHTLY, SYSPROP_SLOW, SYSPROP_WEEKLY, TEST_ASSERTS_ENABLED, TEST_AWAITSFIX, TEST_BADAPPLES, TEST_CODEC, TEST_DIRECTORY, TEST_DOCVALUESFORMAT, TEST_LINE_DOCS_FILE, TEST_MONSTER, TEST_NIGHTLY, TEST_POSTINGSFORMAT, TEST_SLOW, TEST_THROTTLING, TEST_WEEKLY, VERBOSE`

### Constructor Summary

Constructors
Constructor and Description
`BaseIndexFileFormatTestCase()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected abstract void` `addRandomFields(Document doc)` Add random fields to the provided document.
`protected <D extends Directory> D` `applyCreatedVersionMajor(D d)` Set the created version of the given `Directory` and return it.
`protected Collection<String>` `excludedExtensionsFromByteCounts()` Return the list of extensions that should be excluded from byte counts when comparing indices that store the same content.
`protected abstract Codec` `getCodec()` Returns the codec to run tests against
`protected int` `getCreatedVersionMajor()` Returns the major version that this codec is compatible with.
`protected DirectoryReader` `maybeWrapWithMergingReader(DirectoryReader r)`
`protected boolean` `mergeIsStable()`
`void` `setUp()` For subclasses to override.
`protected boolean` `shouldTestMergeInstance()` Returns `false` if only the regular fields reader should be tested, and `true` if only the merge instance should be tested.
`void` `tearDown()` For subclasses to override.
`void` `testCheckIntegrityReadsAllBytes()` This test is a best effort at verifying that checkIntegrity doesn't miss any files.
`void` `testMergeStability()` The purpose of this test is to make sure that bulk merge doesn't accumulate useless data over runs.
`void` `testMultiClose()` Calls close multiple times on closeable codec apis
`void` `testRamBytesUsed()` Test the accuracy of the ramBytesUsed estimations.
`void` `testRandomExceptions()` Tests exception handling on write and openInput/createOutput

### Methods inherited from class org.apache.lucene.util.LuceneTestCase

`addVirusChecker, assertDeletedDocsEquals, assertDocsAndPositionsEnumEquals, assertDocsEnumEquals, assertDocsSkippingEquals, assertDocValuesEquals, assertDocValuesEquals, assertFieldInfosEquals, assertNormsEquals, assertPointsEquals, assertPositionsSkippingEquals, assertReaderEquals, assertReaderStatisticsEquals, assertStoredFieldEquals, assertStoredFieldsEquals, assertTermsEnumEquals, assertTermsEquals, assertTermsEquals, assertTermsStatisticsEquals, assertTermStatsEquals, assertTermVectorsEquals, asSet, assumeFalse, assumeNoException, assumeTrue, assumeWorkingMMapOnWindows, atLeast, atLeast, callStackContains, callStackContains, callStackContainsAnyOf, closeAfterSuite, closeAfterTest, collate, createTempDir, createTempDir, createTempFile, createTempFile, dumpArray, dumpIterator, ensureSaneIWCOnNightly, expectThrows, expectThrows, expectThrows, expectThrowsAnyOf, expectThrowsAnyOf, getBaseTempDirForTestClass, getDataInputStream, getDataPath, getOnlyLeafReader, getTestClass, getTestName, hasWorkingMMapOnWindows, isTestThread, localeForLanguageTag, maybeChangeLiveIndexWriterConfig, maybeWrapReader, newAlcoholicMergePolicy, newAlcoholicMergePolicy, newDirectory, newDirectory, newDirectory, newDirectory, newDirectory, newField, newField, newFSDirectory, newFSDirectory, newIndexWriterConfig, newIndexWriterConfig, newIndexWriterConfig, newIOContext, newIOContext, newLogMergePolicy, newLogMergePolicy, newLogMergePolicy, newLogMergePolicy, newLogMergePolicy, newMaybeVirusCheckingDirectory, newMaybeVirusCheckingFSDirectory, newMergePolicy, newMergePolicy, newMergePolicy, newMockDirectory, newMockDirectory, newMockDirectory, newMockFSDirectory, newMockFSDirectory, newSearcher, newSearcher, newSearcher, newStringField, newStringField, newStringField, newStringField, newTextField, newTextField, newTieredMergePolicy, newTieredMergePolicy, overrideDefaultQueryCache, overrideTestDefaultQueryCache, random, randomLocale, randomTimeZone, rarely, rarely, replaceMaxFailureRule, resetDefaultQueryCache, restoreCPUCoreCount, restoreIndexWriterMaxDocs, restoreSpins, runWithRestrictedPermissions, setIndexWriterMaxDocs, setupCPUCoreCount, setupSpins, slowFileExists, usually, usually, wrapReader`

### Methods inherited from class org.junit.Assert

`assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertThat, assertThat, assertTrue, assertTrue, fail, fail`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### BaseIndexFileFormatTestCase

    public BaseIndexFileFormatTestCase()

### Method Detail

#### getCodec

    protected abstract Codec getCodec()

Returns the codec to run tests against

#### getCreatedVersionMajor

    protected int getCreatedVersionMajor()

Returns the major version that this codec is compatible with.

#### applyCreatedVersionMajor

    protected final <D extends Directory> D applyCreatedVersionMajor(D d)
                                                              throws IOException

Set the created version of the given `Directory` and return it.

Throws:
  `IOException`

#### setUp

    public void setUp()
               throws Exception

Description copied from class: `LuceneTestCase`
For subclasses to override. Overrides must call `super.setUp()`.

Overrides:
  `setUp` in class `LuceneTestCase`
Throws:
  `Exception`

#### tearDown

    public void tearDown()
                  throws Exception

Description copied from class: `LuceneTestCase`
For subclasses to override. Overrides must call `super.tearDown()`.

Overrides:
  `tearDown` in class `LuceneTestCase`
Throws:
  `Exception`

#### addRandomFields

    protected abstract void addRandomFields(Document doc)

Add random fields to the provided document.

#### excludedExtensionsFromByteCounts

    protected Collection<String> excludedExtensionsFromByteCounts()

Return the list of extensions that should be excluded from byte counts when comparing indices that store the same content.

#### testMergeStability

    public void testMergeStability()
                            throws Exception

The purpose of this test is to make sure that bulk merge doesn't accumulate useless data over runs.

Throws:
  `Exception`

#### mergeIsStable

    protected boolean mergeIsStable()

#### testRamBytesUsed

    @LuceneTestCase.Nightly
    public void testRamBytesUsed()
                                                  throws IOException

Test the accuracy of the ramBytesUsed estimations.

Throws:
  `IOException`

#### testMultiClose

    public void testMultiClose()
                        throws IOException

Calls close multiple times on closeable codec apis

Throws:
  `IOException`

#### testRandomExceptions

    public void testRandomExceptions()
                              throws Exception

Tests exception handling on write and openInput/createOutput

Throws:
  `Exception`

#### shouldTestMergeInstance

    protected boolean shouldTestMergeInstance()

Returns `false` if only the regular fields reader should be tested, and `true` if only the merge instance should be tested.

#### maybeWrapWithMergingReader

    protected final DirectoryReader maybeWrapWithMergingReader(DirectoryReader r)
                                                        throws IOException

Throws:
  `IOException`

#### testCheckIntegrityReadsAllBytes

    public void testCheckIntegrityReadsAllBytes()
                                         throws Exception

This test is a best effort at verifying that checkIntegrity doesn't miss any files. It tests that the combination of opening a reader and calling checkIntegrity on it reads all bytes of all files.

Throws:
  `Exception`