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
    Modifier and Type | Method and Description
    --- | ---
    `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 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` | `testBigDocuments()`
    `void` | `testBinaryFieldOffsetLength()`
    `void` | `testBulkMergeWithDeletes()`
    `void` | `testCheckIntegrityReadsAllBytes()` This test is a best effort at verifying that checkIntegrity doesn't miss any files.
    `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, 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, 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.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`

Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.