test_class.file: rxjava/src/test/java/io/reactivex/internal/operators/flowable/FlowableFlatMapTest.java
test_class.identifier: FlowableFlatMapTest
test_case.body: @Test
      public void testFlatMapTransformsMaxConcurrentNormal() {
          final int m = 2;
          final AtomicInteger subscriptionCount = new AtomicInteger();
          Flowable<Integer> onNext =
                  composer(
                          Flowable.fromIterable(Arrays.asList(1, 2, 3))
                          .observeOn(Schedulers.computation())
                          ,
                  subscriptionCount, m)
                  .subscribeOn(Schedulers.computation())
                  ;
  
          Flowable<Integer> onComplete = composer(Flowable.fromIterable(Arrays.asList(4)), subscriptionCount, m)
                  .subscribeOn(Schedulers.computation());
  
          Flowable<Integer> onError = Flowable.fromIterable(Arrays.asList(5));
  
          Flowable<Integer> source = Flowable.fromIterable(Arrays.asList(10, 20, 30));
  
          Subscriber<Object> o = TestHelper.mockSubscriber();
          TestSubscriber<Object> ts = new TestSubscriber<Object>(o);
  
          Function<Integer, Flowable<Integer>> just = just(onNext);
          Function<Throwable, Flowable<Integer>> just2 = just(onError);
          Callable<Flowable<Integer>> just0 = just0(onComplete);
          source.flatMap(just, just2, just0, m).subscribe(ts);
  
          ts.awaitTerminalEvent(1, TimeUnit.SECONDS);
          ts.assertNoErrors();
          ts.assertTerminated();
  
          verify(o, times(3)).onNext(1);
          verify(o, times(3)).onNext(2);
          verify(o, times(3)).onNext(3);
          verify(o).onNext(4);
          verify(o).onComplete();
  
          verify(o, never()).onNext(5);
          verify(o, never()).onError(any(Throwable.class));
      }
test_case.class_method_signature: FlowableFlatMapTest.testFlatMapTransformsMaxConcurrentNormal()
test_case.full_signature: @Test public void testFlatMapTransformsMaxConcurrentNormal()
test_case.identifier: testFlatMapTransformsMaxConcurrentNormal
test_case.invocations: subscribeOn composer observeOn fromIterable asList computation computation subscribeOn composer fromIterable asList computation fromIterable asList fromIterable asList mockSubscriber just just just0 subscribe flatMap awaitTerminalEvent assertNoErrors assertTerminated onNext verify times onNext verify times onNext verify times onNext verify onComplete verify onNext verify never onError verify never any
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testFlatMapTransformsMaxConcurrentNormal()
focal_class.declarator: mapper
focal_class.modifier: final
focal_class.original_string: final Function<? super T, ? extends Publisher<? extends U>> mapper;
focal_class.type: Function<? super T, ? extends Publisher<? extends U>>
focal_class.var_name: mapper
focal_class.declarator: delayErrors
focal_class.modifier: final
focal_class.original_string: final boolean delayErrors;
focal_class.type: boolean
focal_class.var_name: delayErrors
focal_class.declarator: maxConcurrency
focal_class.modifier: final
focal_class.original_string: final int maxConcurrency;
focal_class.type: int
focal_class.var_name: maxConcurrency
focal_class.declarator: bufferSize
focal_class.modifier: final
focal_class.original_string: final int bufferSize;
focal_class.type: int
focal_class.var_name: bufferSize
focal_class.file: rxjava/src/main/java/io/reactivex/internal/operators/flowable/FlowableFlatMap.java
focal_class.identifier: FlowableFlatMap
focal_class.class_method_signature: FlowableFlatMap.FlowableFlatMap(Flowable<T> source,
              Function<? super T, ? extends Publisher<? extends U>> mapper,
              boolean delayErrors, int maxConcurrency, int bufferSize)
focal_class.full_signature: public  FlowableFlatMap(Flowable<T> source,
              Function<? super T, ? extends Publisher<? extends U>> mapper,
              boolean delayErrors, int maxConcurrency, int bufferSize)
focal_class.identifier: FlowableFlatMap
focal_class.modifiers: public
focal_class.parameters: (Flowable<T> source,
              Function<? super T, ? extends Publisher<? extends U>> mapper,
              boolean delayErrors, int maxConcurrency, int bufferSize)
focal_class.signature:  FlowableFlatMap(Flowable<T> source,
              Function<? super T, ? extends Publisher<? extends U>> mapper,
              boolean delayErrors, int maxConcurrency, int bufferSize)
focal_class.class_method_signature: FlowableFlatMap.subscribeActual(Subscriber<? super U> s)
focal_class.full_signature: @Override protected void subscribeActual(Subscriber<? super U> s)
focal_class.identifier: subscribeActual
focal_class.modifiers: @Override protected
focal_class.parameters: (Subscriber<? super U> s)
focal_class.return: void
focal_class.signature: void subscribeActual(Subscriber<? super U> s)
focal_class.class_method_signature: FlowableFlatMap.subscribe(Subscriber<? super U> s,
              Function<? super T, ? extends Publisher<? extends U>> mapper,
              boolean delayErrors, int maxConcurrency, int bufferSize)
focal_class.full_signature: public static FlowableSubscriber<T> subscribe(Subscriber<? super U> s,
              Function<? super T, ? extends Publisher<? extends U>> mapper,
              boolean delayErrors, int maxConcurrency, int bufferSize)
focal_class.identifier: subscribe
focal_class.modifiers: public static
focal_class.parameters: (Subscriber<? super U> s,
              Function<? super T, ? extends Publisher<? extends U>> mapper,
              boolean delayErrors, int maxConcurrency, int bufferSize)
focal_class.return: FlowableSubscriber<T>
focal_class.signature: FlowableSubscriber<T> subscribe(Subscriber<? super U> s,
              Function<? super T, ? extends Publisher<? extends U>> mapper,
              boolean delayErrors, int maxConcurrency, int bufferSize)
focal_class.superclass: extends AbstractFlowableWithUpstream<T, U>
focal_method.body: public static <T, U> FlowableSubscriber<T> subscribe(Subscriber<? super U> s,
              Function<? super T, ? extends Publisher<? extends U>> mapper,
              boolean delayErrors, int maxConcurrency, int bufferSize) {
          return new MergeSubscriber<T, U>(s, mapper, delayErrors, maxConcurrency, bufferSize);
      }
focal_method.class_method_signature: FlowableFlatMap.subscribe(Subscriber<? super U> s,
              Function<? super T, ? extends Publisher<? extends U>> mapper,
              boolean delayErrors, int maxConcurrency, int bufferSize)
focal_method.full_signature: public static FlowableSubscriber<T> subscribe(Subscriber<? super U> s,
              Function<? super T, ? extends Publisher<? extends U>> mapper,
              boolean delayErrors, int maxConcurrency, int bufferSize)
focal_method.identifier: subscribe
focal_method.modifiers: public static
focal_method.parameters: (Subscriber<? super U> s,
              Function<? super T, ? extends Publisher<? extends U>> mapper,
              boolean delayErrors, int maxConcurrency, int bufferSize)
focal_method.return: FlowableSubscriber<T>
focal_method.signature: FlowableSubscriber<T> subscribe(Subscriber<? super U> s,
              Function<? super T, ? extends Publisher<? extends U>> mapper,
              boolean delayErrors, int maxConcurrency, int bufferSize)