test_class.declarator: diviner = null
test_class.modifier: private
test_class.original_string: private DefaultDeflateCompressionDiviner diviner = null;
test_class.type: DefaultDeflateCompressionDiviner
test_class.var_name: diviner
test_class.declarator: testData = null
test_class.modifier: private
test_class.original_string: private byte[] testData = null;
test_class.type: byte[]
test_class.var_name: testData
test_class.file: feya/libraries/archive_diff/diff.generator/src/test/java/com/google/archivepatcher/generator/DefaultDeflateCompressionDivinerTest.java
test_class.identifier: DefaultDeflateCompressionDivinerTest
test_case.body: @Test
    public void testDivineDeflateParameters_BadCloseInputStreamFactory() throws IOException {
      final JreDeflateParameters parameters = JreDeflateParameters.of(1, 0, true);
      final byte[] buffer = deflate(parameters);
      // The factory here will produce streams that throw exceptions when close() is called.
      // These exceptions should be ignored.
      JreDeflateParameters result =
          diviner.divineDeflateParameters(new ByteArrayInputStreamFactory(buffer, true, true));
      Assert.assertEquals(result, parameters);
    }
test_case.class_method_signature: DefaultDeflateCompressionDivinerTest.testDivineDeflateParameters_BadCloseInputStreamFactory()
test_case.full_signature: @Test public void testDivineDeflateParameters_BadCloseInputStreamFactory()
test_case.identifier: testDivineDeflateParameters_BadCloseInputStreamFactory
test_case.invocations: of deflate divineDeflateParameters assertEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testDivineDeflateParameters_BadCloseInputStreamFactory()
focal_class.declarator: levelsByStrategy = getLevelsByStrategy()
focal_class.modifier: private final
focal_class.original_string: private final Map<Integer, List<Integer>> levelsByStrategy = getLevelsByStrategy();
focal_class.type: Map<Integer, List<Integer>>
focal_class.var_name: levelsByStrategy
focal_class.file: feya/libraries/archive_diff/diff.generator/src/main/java/com/google/archivepatcher/generator/DefaultDeflateCompressionDiviner.java
focal_class.identifier: DefaultDeflateCompressionDiviner
focal_class.class_method_signature: DefaultDeflateCompressionDiviner.divineDeflateParameters(File archiveFile)
focal_class.full_signature: public List<DivinationResult> divineDeflateParameters(File archiveFile)
focal_class.identifier: divineDeflateParameters
focal_class.modifiers: public
focal_class.parameters: (File archiveFile)
focal_class.return: List<DivinationResult>
focal_class.signature: List<DivinationResult> divineDeflateParameters(File archiveFile)
focal_class.class_method_signature: DefaultDeflateCompressionDiviner.getLevelsByStrategy()
focal_class.full_signature: protected Map<Integer, List<Integer>> getLevelsByStrategy()
focal_class.identifier: getLevelsByStrategy
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: Map<Integer, List<Integer>>
focal_class.signature: Map<Integer, List<Integer>> getLevelsByStrategy()
focal_class.class_method_signature: DefaultDeflateCompressionDiviner.divineDeflateParameters(
        MultiViewInputStreamFactory<?> compressedDataInputStreamFactory)
focal_class.full_signature: public JreDeflateParameters divineDeflateParameters(
        MultiViewInputStreamFactory<?> compressedDataInputStreamFactory)
focal_class.identifier: divineDeflateParameters
focal_class.modifiers: public
focal_class.parameters: (
        MultiViewInputStreamFactory<?> compressedDataInputStreamFactory)
focal_class.return: JreDeflateParameters
focal_class.signature: JreDeflateParameters divineDeflateParameters(
        MultiViewInputStreamFactory<?> compressedDataInputStreamFactory)
focal_class.class_method_signature: DefaultDeflateCompressionDiviner.matches(
        InputStream compressedDataIn,
        Inflater inflater,
        Deflater deflater,
        InputStream matchingStreamInput,
        byte[] copyBuffer)
focal_class.full_signature: private boolean matches(
        InputStream compressedDataIn,
        Inflater inflater,
        Deflater deflater,
        InputStream matchingStreamInput,
        byte[] copyBuffer)
focal_class.identifier: matches
focal_class.modifiers: private
focal_class.parameters: (
        InputStream compressedDataIn,
        Inflater inflater,
        Deflater deflater,
        InputStream matchingStreamInput,
        byte[] copyBuffer)
focal_class.return: boolean
focal_class.signature: boolean matches(
        InputStream compressedDataIn,
        Inflater inflater,
        Deflater deflater,
        InputStream matchingStreamInput,
        byte[] copyBuffer)
focal_method.body: public List<DivinationResult> divineDeflateParameters(File archiveFile) throws IOException {
      List<DivinationResult> results = new ArrayList<DivinationResult>();
      for (MinimalZipEntry minimalZipEntry : MinimalZipArchive.listEntries(archiveFile)) {
        JreDeflateParameters divinedParameters = null;
        if (minimalZipEntry.isDeflateCompressed()) {
          // TODO(andrewhayden): Reuse streams to avoid churning file descriptors
          RandomAccessFileInputStreamFactory rafisFactory =
              new RandomAccessFileInputStreamFactory(
                  archiveFile,
                  minimalZipEntry.getFileOffsetOfCompressedData(),
                  minimalZipEntry.getCompressedSize());
          divinedParameters = divineDeflateParameters(rafisFactory);
        }
        results.add(new DivinationResult(minimalZipEntry, divinedParameters));
      }
      return results;
    }
focal_method.class_method_signature: DefaultDeflateCompressionDiviner.divineDeflateParameters(File archiveFile)
focal_method.full_signature: public List<DivinationResult> divineDeflateParameters(File archiveFile)
focal_method.identifier: divineDeflateParameters
focal_method.invocations: listEntries isDeflateCompressed getFileOffsetOfCompressedData getCompressedSize divineDeflateParameters add
focal_method.modifiers: public
focal_method.parameters: (File archiveFile)
focal_method.return: List<DivinationResult>
focal_method.signature: List<DivinationResult> divineDeflateParameters(File archiveFile)