org.apache.lucene.index

## Class BaseStoredFieldsFormatTestCase

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

    public abstract class BaseStoredFieldsFormatTestCase
    extends LuceneTestCase

Base class aiming at testing `stored fields formats`. To test a new format, all you need is to register a new `Codec` which uses it and extend this class and override `getCodec()`.

WARNING: This API is experimental and might change in incompatible ways in the next release.

### Nested Class Summary

### 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
`BaseStoredFieldsFormatTestCase()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected void` `addRandomFields(Document d)` 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 boolean` `mergeIsStable()`
`void` `setUp()` For subclasses to override.
`void` `tearDown()` For subclasses to override.
`void` `testBigDocuments()`
`void` `testBinaryFieldOffsetLength()`
`void` `testBulkMergeWithDeletes()`
`void` `testConcurrentReads()`
`void` `testEmptyDocs()`
`void` `testIndexedBit()`
`void` `testMergeFilterReader()`
`void` `testMergeStability()` The purpose of this test is to make sure that bulk merge doesn't accumulate useless data over runs.
`void` `testMismatchedFields()` mix up field numbers, merge, and check that data is correct
`void` `testMultiClose()` Calls close multiple times on closeable codec apis
`void` `testNumericField()`
`void` `testRamBytesUsed()` Test the accuracy of the ramBytesUsed estimations.
`void` `testRandomExceptions()` Tests exception handling on write and openInput/createOutput
`void` `testRandomStoredFields()`
`void` `testReadSkip()`
`void` `testStoredFieldsOrder()`
`void` `testWriteReadMerge()`

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

`addVirusChecker, assertDeletedDocsEquals, assertDocsAndPositionsEnumEquals, assertDocsEnumEquals, assertDocsSkippingEquals, assertDocValuesEquals, assertDocValuesEquals, assertFieldInfosEquals, assertFieldsEquals, assertFieldStatisticsEquals, assertNormsEquals, assertPointsEquals, assertPositionsSkippingEquals, assertReaderEquals, assertReaderStatisticsEquals, assertStoredFieldEquals, assertStoredFieldsEquals, assertTermsEnumEquals, assertTermsEquals, assertTermsStatisticsEquals, assertTermStatsEquals, assertTermVectorsEquals, asSet, assumeFalse, assumeNoException, assumeTrue, assumeWorkingMMapOnWindows, atLeast, atLeast, closeAfterSuite, closeAfterTest, collate, createTempDir, createTempDir, createTempFile, createTempFile, dumpArray, dumpIterator, 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

#### BaseStoredFieldsFormatTestCase

    public BaseStoredFieldsFormatTestCase()

### Method Detail

#### addRandomFields

    protected void addRandomFields(Document d)

Add random fields to the provided document.

#### testRandomStoredFields

    public void testRandomStoredFields()
                                throws IOException

Throws:
  `IOException`

#### testStoredFieldsOrder

    public void testStoredFieldsOrder()
                               throws Throwable

Throws:
  `Throwable`

#### testBinaryFieldOffsetLength

    public void testBinaryFieldOffsetLength()
                                     throws IOException

Throws:
  `IOException`

#### testNumericField

    public void testNumericField()
                          throws Exception

Throws:
  `Exception`

#### testIndexedBit

    public void testIndexedBit()
                        throws Exception

Throws:
  `Exception`

#### testReadSkip

    public void testReadSkip()
                      throws IOException

Throws:
  `IOException`

#### testEmptyDocs

    public void testEmptyDocs()
                       throws IOException

Throws:
  `IOException`

#### testConcurrentReads

    public void testConcurrentReads()
                             throws Exception

Throws:
  `Exception`

#### testWriteReadMerge

    public void testWriteReadMerge()
                            throws IOException

Throws:
  `IOException`

#### testMergeFilterReader

    public void testMergeFilterReader()
                               throws IOException

Throws:
  `IOException`

#### testBigDocuments

    @LuceneTestCase.Nightly
    public void testBigDocuments()
                                                  throws IOException

Throws:
  `IOException`

#### testBulkMergeWithDeletes

    public void testBulkMergeWithDeletes()
                                  throws IOException

Throws:
  `IOException`

#### testMismatchedFields

    public void testMismatchedFields()
                              throws Exception

mix up field numbers, merge, and check that data is correct

Throws:
  `Exception`

#### 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`

#### 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.Slow
    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`