test_class.declarator: filterUpdateTimesCounter
test_class.modifier: private
test_class.original_string: private LongAdder filterUpdateTimesCounter;
test_class.type: LongAdder
test_class.var_name: filterUpdateTimesCounter
test_class.declarator: innerFilterFactory
test_class.modifier: private
test_class.original_string: private BloomFilterFactory<BloomFilter, BloomFilterConfig> innerFilterFactory;
test_class.type: BloomFilterFactory<BloomFilter, BloomFilterConfig>
test_class.var_name: innerFilterFactory
test_class.declarator: wrapper
test_class.modifier: private
test_class.original_string: private CountUpdateBloomFilterFactory wrapper;
test_class.type: CountUpdateBloomFilterFactory
test_class.var_name: wrapper
test_class.file: filter-service-core/src/test/java/cn/leancloud/filter/service/CountUpdateBloomFilterFactoryTest.java
test_class.identifier: CountUpdateBloomFilterFactoryTest
test_case.body: @Test
      public void testReadFromThrowsException() throws Exception {
          final InputStream in = new ByteArrayInputStream(new byte[0]);
          final IOException expectedEx = new IOException("expected exception");
  
          doThrow(expectedEx).when(innerFilterFactory).readFrom(in);
  
          assertThatThrownBy(() -> wrapper.readFrom(in)).isEqualTo(expectedEx);
          verify(innerFilterFactory, times(1)).readFrom(in);
      }
test_case.class_method_signature: CountUpdateBloomFilterFactoryTest.testReadFromThrowsException()
test_case.full_signature: @Test public void testReadFromThrowsException()
test_case.identifier: testReadFromThrowsException
test_case.invocations: readFrom when doThrow isEqualTo assertThatThrownBy readFrom readFrom verify times
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testReadFromThrowsException()
focal_class.declarator: factory
focal_class.modifier: private final
focal_class.original_string: private final BloomFilterFactory<?, C> factory;
focal_class.type: BloomFilterFactory<?, C>
focal_class.var_name: factory
focal_class.declarator: filterUpdateTimesCounter
focal_class.modifier: private final
focal_class.original_string: private final LongAdder filterUpdateTimesCounter;
focal_class.type: LongAdder
focal_class.var_name: filterUpdateTimesCounter
focal_class.file: filter-service-core/src/main/java/cn/leancloud/filter/service/CountUpdateBloomFilterFactory.java
focal_class.identifier: CountUpdateBloomFilterFactory
focal_class.interfaces: implements BloomFilterFactory<CountUpdateBloomFilterWrapper, C>
focal_class.class_method_signature: CountUpdateBloomFilterFactory.CountUpdateBloomFilterFactory(BloomFilterFactory<?, C> factory, LongAdder filterUpdateTimesCounter)
focal_class.full_signature:   CountUpdateBloomFilterFactory(BloomFilterFactory<?, C> factory, LongAdder filterUpdateTimesCounter)
focal_class.identifier: CountUpdateBloomFilterFactory
focal_class.parameters: (BloomFilterFactory<?, C> factory, LongAdder filterUpdateTimesCounter)
focal_class.signature:  CountUpdateBloomFilterFactory(BloomFilterFactory<?, C> factory, LongAdder filterUpdateTimesCounter)
focal_class.class_method_signature: CountUpdateBloomFilterFactory.filterUpdateTimesCounter()
focal_class.full_signature:  LongAdder filterUpdateTimesCounter()
focal_class.identifier: filterUpdateTimesCounter
focal_class.parameters: ()
focal_class.return: LongAdder
focal_class.signature: LongAdder filterUpdateTimesCounter()
focal_class.class_method_signature: CountUpdateBloomFilterFactory.createFilter(C config)
focal_class.full_signature: @Override public CountUpdateBloomFilterWrapper createFilter(C config)
focal_class.identifier: createFilter
focal_class.modifiers: @Override public
focal_class.parameters: (C config)
focal_class.return: CountUpdateBloomFilterWrapper
focal_class.signature: CountUpdateBloomFilterWrapper createFilter(C config)
focal_class.class_method_signature: CountUpdateBloomFilterFactory.readFrom(InputStream stream)
focal_class.full_signature: @Override public CountUpdateBloomFilterWrapper readFrom(InputStream stream)
focal_class.identifier: readFrom
focal_class.modifiers: @Override public
focal_class.parameters: (InputStream stream)
focal_class.return: CountUpdateBloomFilterWrapper
focal_class.signature: CountUpdateBloomFilterWrapper readFrom(InputStream stream)
focal_method.body: @Override
      public CountUpdateBloomFilterWrapper readFrom(InputStream stream) throws IOException {
          return new CountUpdateBloomFilterWrapper(factory.readFrom(stream), filterUpdateTimesCounter);
      }
focal_method.class_method_signature: CountUpdateBloomFilterFactory.readFrom(InputStream stream)
focal_method.full_signature: @Override public CountUpdateBloomFilterWrapper readFrom(InputStream stream)
focal_method.identifier: readFrom
focal_method.invocations: readFrom
focal_method.modifiers: @Override public
focal_method.parameters: (InputStream stream)
focal_method.return: CountUpdateBloomFilterWrapper
focal_method.signature: CountUpdateBloomFilterWrapper readFrom(InputStream stream)