test_class.file: rxjava/src/test/java/io/reactivex/internal/operators/flowable/FlowableFlatMapTest.java
test_class.identifier: FlowableFlatMapTest
test_case.body: @Test
      public void testFlatMapSelectorMaxConcurrent() {
          final int m = 4;
          final AtomicInteger subscriptionCount = new AtomicInteger();
          Flowable<Integer> source = Flowable.range(1, 10)
              .flatMap(new Function<Integer, Flowable<Integer>>() {
              @Override
              public Flowable<Integer> apply(Integer t1) {
                  return composer(Flowable.range(t1 * 10, 2), subscriptionCount, m)
                          .subscribeOn(Schedulers.computation());
              }
          }, new BiFunction<Integer, Integer, Integer>() {
              @Override
              public Integer apply(Integer t1, Integer t2) {
                  return t1 * 1000 + t2;
              }
          }, m);
  
          TestSubscriber<Integer> ts = new TestSubscriber<Integer>();
  
          source.subscribe(ts);
  
          ts.awaitTerminalEvent();
          ts.assertNoErrors();
          Set<Integer> expected = new HashSet<Integer>(Arrays.asList(
                  1010, 1011, 2020, 2021, 3030, 3031, 4040, 4041, 5050, 5051,
                  6060, 6061, 7070, 7071, 8080, 8081, 9090, 9091, 10100, 10101
          ));
          Assert.assertEquals(expected.size(), ts.valueCount());
          System.out.println("--> testFlatMapSelectorMaxConcurrent: " + ts.values());
          Assert.assertTrue(expected.containsAll(ts.values()));
      }
test_case.class_method_signature: FlowableFlatMapTest.testFlatMapSelectorMaxConcurrent()
test_case.full_signature: @Test public void testFlatMapSelectorMaxConcurrent()
test_case.identifier: testFlatMapSelectorMaxConcurrent
test_case.invocations: flatMap range subscribeOn composer range computation subscribe awaitTerminalEvent assertNoErrors asList assertEquals size valueCount println values assertTrue containsAll values
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testFlatMapSelectorMaxConcurrent()
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)