org.apache.lucene.search

## Class SearchEquivalenceTestBase

- java.lang.Object
- - org.junit.Assert
  - - org.apache.lucene.util.LuceneTestCase
    - - org.apache.lucene.search.SearchEquivalenceTestBase

    @LuceneTestCase.SuppressCodecs(value="SimpleText")
    public abstract class SearchEquivalenceTestBase
    extends LuceneTestCase

Simple base class for checking search equivalence. Extend it, and write tests that create `randomTerm()`s (all terms are single characters a-z), and use `assertSameSet(Query, Query)` and `assertSubsetOf(Query, Query)`

### 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
`protected static Analyzer` `analyzer`
`protected static Directory` `directory`
`protected static IndexReader` `reader`
`protected static IndexSearcher` `s1`
`protected static IndexSearcher` `s2`
`protected static String` `stopword`

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

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static void` `afterClass()`
`protected void` `assertSameScores(Query q1, Query q2)` Assert that two queries return the same documents and with the same scores.
`protected void` `assertSameScores(Query q1, Query q2, Query filter)`
`void` `assertSameSet(Query q1, Query q2)` Asserts that the documents returned by `q1` are the same as of those returned by `q2`
`void` `assertSubsetOf(Query q1, Query q2)` Asserts that the documents returned by `q1` are a subset of those returned by `q2`
`protected void` `assertSubsetOf(Query q1, Query q2, Query filter)` Asserts that the documents returned by `q1` are a subset of those returned by `q2`.
`static void` `beforeClass()`
`protected Query` `filteredQuery(Query query, Query filter)`
`protected Query` `randomFilter()` Returns a random filter over the document set
`protected Term` `randomTerm()` returns a term suitable for searching.

### 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, setUp, setupCPUCoreCount, setupSpins, slowFileExists, tearDown, 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`

### Field Detail

#### s1

    protected static IndexSearcher s1

#### s2

    protected static IndexSearcher s2

#### directory

    protected static Directory directory

#### reader

    protected static IndexReader reader

#### analyzer

    protected static Analyzer analyzer

#### stopword

    protected static String stopword

### Constructor Detail

#### SearchEquivalenceTestBase

    public SearchEquivalenceTestBase()

### Method Detail

#### beforeClass

    public static void beforeClass()
                            throws Exception

Throws:
  `Exception`

#### afterClass

    public static void afterClass()
                           throws Exception

Throws:
  `Exception`

#### randomTerm

    protected Term randomTerm()

returns a term suitable for searching. terms are single characters in lowercase (a-z)

#### randomFilter

    protected Query randomFilter()

Returns a random filter over the document set

#### assertSameSet

    public void assertSameSet(Query q1,
                              Query q2)
                       throws Exception

Asserts that the documents returned by `q1` are the same as of those returned by `q2`

Throws:
  `Exception`

#### assertSubsetOf

    public void assertSubsetOf(Query q1,
                               Query q2)
                        throws Exception

Asserts that the documents returned by `q1` are a subset of those returned by `q2`

Throws:
  `Exception`

#### assertSubsetOf

    protected void assertSubsetOf(Query q1,
                                  Query q2,
                                  Query filter)
                           throws Exception

Asserts that the documents returned by `q1` are a subset of those returned by `q2`. Both queries will be filtered by `filter`

Throws:
  `Exception`

#### assertSameScores

    protected void assertSameScores(Query q1,
                                    Query q2)
                             throws Exception

Assert that two queries return the same documents and with the same scores.

Throws:
  `Exception`

#### assertSameScores

    protected void assertSameScores(Query q1,
                                    Query q2,
                                    Query filter)
                             throws Exception

Throws:
  `Exception`

#### filteredQuery

    protected Query filteredQuery(Query query,
                                  Query filter)