@Test(expectedExceptions = IllegalArgumentException.class) public void testSetNullInflaterFactory() { // test catching null InflaterFactory BlockGunzipper.setDefaultInflaterFactory(null); } }
@Test(dataProvider = "customInflaterInput", singleThreaded = true) public void testCustomInflater(final CheckedExceptionInputStreamSupplier bcisSupplier, final List<String> expectedOutput, final int expectedInflateCalls, final InflaterFactory customDefaultInflaterFactory) throws Exception { // clear inflate call counter in CountingInflater CountingInflater.inflateCalls = 0; // If requested, set the global default InflaterFactory to a custom factory. Otherwise, set it to the default. if ( customDefaultInflaterFactory != null ) { BlockGunzipper.setDefaultInflaterFactory(customDefaultInflaterFactory); } else { BlockGunzipper.setDefaultInflaterFactory(new InflaterFactory()); } try (final BufferedReader reader = new BufferedReader(new InputStreamReader(bcisSupplier.get()))) { String line; for (int i = 0; (line = reader.readLine()) != null; ++i) { // check expected output, if provided if (expectedOutput != null) { Assert.assertEquals(line + "\n", expectedOutput.get(i)); } } } // verify custom inflater was used by checking number of inflate calls Assert.assertEquals(CountingInflater.inflateCalls, expectedInflateCalls, "inflate calls"); // Reset the default InflaterFactory back to the default value BlockGunzipper.setDefaultInflaterFactory(new InflaterFactory()); }
BlockGunzipper.setDefaultInflaterFactory(new IntelInflaterFactory());
BlockGunzipper.setDefaultInflaterFactory(new IntelInflaterFactory());
public void initializeCompressionAndDecompression() { // Use the Intel Inflater/Deflater for accelerated BAM reading/writing, if possible: if (! getArguments().useJdkDeflater) { BlockCompressedOutputStream.setDefaultDeflaterFactory(new IntelDeflaterFactory()); } if (! getArguments().useJdkInflater) { BlockGunzipper.setDefaultInflaterFactory(new IntelInflaterFactory()); } final boolean usingIntelDeflater = (BlockCompressedOutputStream.getDefaultDeflaterFactory() instanceof IntelDeflaterFactory && ((IntelDeflaterFactory)BlockCompressedOutputStream.getDefaultDeflaterFactory()).usingIntelDeflater()); logger.info("Deflater: " + (usingIntelDeflater ? "IntelDeflater": "JdkDeflater")); final boolean usingIntelInflater = (BlockGunzipper.getDefaultInflaterFactory() instanceof IntelInflaterFactory && ((IntelInflaterFactory)BlockGunzipper.getDefaultInflaterFactory()).usingIntelInflater()); logger.info("Inflater: " + (usingIntelInflater ? "IntelInflater": "JdkInflater")); }