Buggy code:
public class TestDuelingCodecs extends LuceneTestCase { private Directory leftDir ; private IndexReader leftReader ; private Codec leftCodec ; private Directory rightDir ; private IndexReader rightReader ; private Codec rightCodec ; private String info ; @ Override public void setUp ( ) throws Exception { } @ Override public void tearDown ( ) throws Exception { } public static void createRandomIndex ( int numdocs , RandomIndexWriter writer , long seed ) throws IOException { } public void testEquals ( ) throws Exception { } public void assertReaderStatistics ( IndexReader leftReader , IndexReader rightReader ) throws Exception { } public void assertFields ( Fields leftFields , Fields rightFields , boolean deep ) throws Exception { } public void assertFieldStatistics ( Fields leftFields , Fields rightFields ) throws Exception { } public void assertTerms ( Terms leftTerms , Terms rightTerms , boolean deep ) throws Exception { } public void assertTermsStatistics ( Terms leftTerms , Terms rightTerms ) throws Exception { } public void assertTermsEnum ( TermsEnum leftTermsEnum , TermsEnum rightTermsEnum , boolean deep ) throws Exception { } public void assertTermStats ( TermsEnum leftTermsEnum , TermsEnum rightTermsEnum ) throws Exception { } public void assertDocsAndPositionsEnum ( DocsAndPositionsEnum leftDocs , DocsAndPositionsEnum rightDocs ) throws Exception { } public void assertDocsEnum ( DocsEnum leftDocs , DocsEnum rightDocs , boolean hasFreqs ) throws Exception { } public void assertDocsSkipping ( int docFreq , DocsEnum leftDocs , DocsEnum rightDocs , boolean hasFreqs ) throws Exception { } public void assertPositionsSkipping ( int docFreq , DocsAndPositionsEnum leftDocs , DocsAndPositionsEnum rightDocs ) throws Exception { } public void assertNorms ( IndexReader leftReader , IndexReader rightReader ) throws Exception { } public void assertStoredFields ( IndexReader leftReader , IndexReader rightReader ) throws Exception { } public void assertStoredField ( IndexableField leftField , IndexableField rightField ) { assertEquals ( info , leftField . name ( ) , rightField . name ( ) ) ; assertEquals ( info , leftField . binaryValue ( ) , rightField . binaryValue ( ) ) ; assertEquals ( info , leftField . stringValue ( ) , rightField . stringValue ( ) ) ; assertEquals ( info , leftField . numericValue ( ) , rightField . numericValue ( ) ) ; <START_BUG> assertEquals ( info , leftField . numericDataType ( ) , rightField . numericDataType ( ) ) ; <END_BUG> } public void assertTermVectors ( IndexReader leftReader , IndexReader rightReader ) throws Exception { } private static Set < String > getDVFields ( IndexReader reader ) { } public void assertDocValues ( IndexReader leftReader , IndexReader rightReader ) throws Exception { } public void assertDocValues ( DocValues leftDocValues , DocValues rightDocValues ) throws Exception { } public void assertDocValuesSource ( DocValues . Source left , DocValues . Source right ) throws Exception { } public void assertDeletedDocs ( IndexReader leftReader , IndexReader rightReader ) throws Exception { } private static class RandomBits implements Bits { FixedBitSet bits ; RandomBits ( int maxDoc , double pctLive , Random random ) { } @ Override public boolean get ( int index ) { } @ Override public int length ( ) { } } }

Fix:
assertEquals ( info , leftField . fieldType ( ) . numericType ( ) , rightField . fieldType ( ) . numericType ( ) ) ;