test_class.file: rxjava/src/test/java/io/reactivex/internal/operators/flowable/FlowableReplayTest.java
test_class.identifier: FlowableReplayTest
test_case.body: @Test
      public void testWindowedReplaySelector() {
  
          final Function<Integer, Integer> dbl = new Function<Integer, Integer>() {
  
              @Override
              public Integer apply(Integer t1) {
                  return t1 * 2;
              }
  
          };
  
          Function<Flowable<Integer>, Flowable<Integer>> selector = new Function<Flowable<Integer>, Flowable<Integer>>() {
  
              @Override
              public Flowable<Integer> apply(Flowable<Integer> t1) {
                  return t1.map(dbl);
              }
  
          };
  
          TestScheduler scheduler = new TestScheduler();
  
          PublishProcessor<Integer> source = PublishProcessor.create();
  
          Flowable<Integer> co = source.replay(selector, 100, TimeUnit.MILLISECONDS, scheduler);
  
          {
              Subscriber<Object> observer1 = TestHelper.mockSubscriber();
              InOrder inOrder = inOrder(observer1);
  
              co.subscribe(observer1);
  
              source.onNext(1);
              scheduler.advanceTimeBy(60, TimeUnit.MILLISECONDS);
              source.onNext(2);
              scheduler.advanceTimeBy(60, TimeUnit.MILLISECONDS);
              source.onNext(3);
              scheduler.advanceTimeBy(60, TimeUnit.MILLISECONDS);
              source.onComplete();
              scheduler.advanceTimeBy(60, TimeUnit.MILLISECONDS);
  
              inOrder.verify(observer1, times(1)).onNext(2);
              inOrder.verify(observer1, times(1)).onNext(4);
              inOrder.verify(observer1, times(1)).onNext(6);
  
              inOrder.verify(observer1, times(1)).onComplete();
              inOrder.verifyNoMoreInteractions();
              verify(observer1, never()).onError(any(Throwable.class));
  
          }
          {
              Subscriber<Object> observer1 = TestHelper.mockSubscriber();
              InOrder inOrder = inOrder(observer1);
  
              co.subscribe(observer1);
  
              inOrder.verify(observer1, times(1)).onComplete();
              inOrder.verifyNoMoreInteractions();
              verify(observer1, never()).onError(any(Throwable.class));
          }
      }
test_case.class_method_signature: FlowableReplayTest.testWindowedReplaySelector()
test_case.full_signature: @Test public void testWindowedReplaySelector()
test_case.identifier: testWindowedReplaySelector
test_case.invocations: map create replay mockSubscriber inOrder subscribe onNext advanceTimeBy onNext advanceTimeBy onNext advanceTimeBy onComplete advanceTimeBy onNext verify times onNext verify times onNext verify times onComplete verify times verifyNoMoreInteractions onError verify never any mockSubscriber inOrder subscribe onComplete verify times verifyNoMoreInteractions onError verify never any
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testWindowedReplaySelector()
focal_class.declarator: source
focal_class.modifier: final
focal_class.original_string: final Flowable<T> source;
focal_class.type: Flowable<T>
focal_class.var_name: source
focal_class.declarator: current
focal_class.modifier: final
focal_class.original_string: final AtomicReference<ReplaySubscriber<T>> current;
focal_class.type: AtomicReference<ReplaySubscriber<T>>
focal_class.var_name: current
focal_class.declarator: bufferFactory
focal_class.modifier: final
focal_class.original_string: final Callable<? extends ReplayBuffer<T>> bufferFactory;
focal_class.type: Callable<? extends ReplayBuffer<T>>
focal_class.var_name: bufferFactory
focal_class.declarator: onSubscribe
focal_class.modifier: final
focal_class.original_string: final Publisher<T> onSubscribe;
focal_class.type: Publisher<T>
focal_class.var_name: onSubscribe
focal_class.declarator: DEFAULT_UNBOUNDED_FACTORY = new DefaultUnboundedFactory()
focal_class.modifier: @SuppressWarnings("rawtypes")
      static final
focal_class.original_string: @SuppressWarnings("rawtypes")
      static final Callable DEFAULT_UNBOUNDED_FACTORY = new DefaultUnboundedFactory();
focal_class.type: Callable
focal_class.var_name: DEFAULT_UNBOUNDED_FACTORY
focal_class.file: rxjava/src/main/java/io/reactivex/internal/operators/flowable/FlowableReplay.java
focal_class.identifier: FlowableReplay
focal_class.interfaces: implements HasUpstreamPublisher<T>, Disposable
focal_class.class_method_signature: FlowableReplay.multicastSelector(
              final Callable<? extends ConnectableFlowable<U>> connectableFactory,
              final Function<? super Flowable<U>, ? extends Publisher<R>> selector)
focal_class.full_signature: public static Flowable<R> multicastSelector(
              final Callable<? extends ConnectableFlowable<U>> connectableFactory,
              final Function<? super Flowable<U>, ? extends Publisher<R>> selector)
focal_class.identifier: multicastSelector
focal_class.modifiers: public static
focal_class.parameters: (
              final Callable<? extends ConnectableFlowable<U>> connectableFactory,
              final Function<? super Flowable<U>, ? extends Publisher<R>> selector)
focal_class.return: Flowable<R>
focal_class.signature: Flowable<R> multicastSelector(
              final Callable<? extends ConnectableFlowable<U>> connectableFactory,
              final Function<? super Flowable<U>, ? extends Publisher<R>> selector)
focal_class.class_method_signature: FlowableReplay.observeOn(final ConnectableFlowable<T> cf, final Scheduler scheduler)
focal_class.full_signature: public static ConnectableFlowable<T> observeOn(final ConnectableFlowable<T> cf, final Scheduler scheduler)
focal_class.identifier: observeOn
focal_class.modifiers: public static
focal_class.parameters: (final ConnectableFlowable<T> cf, final Scheduler scheduler)
focal_class.return: ConnectableFlowable<T>
focal_class.signature: ConnectableFlowable<T> observeOn(final ConnectableFlowable<T> cf, final Scheduler scheduler)
focal_class.class_method_signature: FlowableReplay.createFrom(Flowable<? extends T> source)
focal_class.full_signature: @SuppressWarnings("unchecked") public static ConnectableFlowable<T> createFrom(Flowable<? extends T> source)
focal_class.identifier: createFrom
focal_class.modifiers: @SuppressWarnings("unchecked") public static
focal_class.parameters: (Flowable<? extends T> source)
focal_class.return: ConnectableFlowable<T>
focal_class.signature: ConnectableFlowable<T> createFrom(Flowable<? extends T> source)
focal_class.class_method_signature: FlowableReplay.create(Flowable<T> source,
              final int bufferSize)
focal_class.full_signature: public static ConnectableFlowable<T> create(Flowable<T> source,
              final int bufferSize)
focal_class.identifier: create
focal_class.modifiers: public static
focal_class.parameters: (Flowable<T> source,
              final int bufferSize)
focal_class.return: ConnectableFlowable<T>
focal_class.signature: ConnectableFlowable<T> create(Flowable<T> source,
              final int bufferSize)
focal_class.class_method_signature: FlowableReplay.create(Flowable<T> source,
              long maxAge, TimeUnit unit, Scheduler scheduler)
focal_class.full_signature: public static ConnectableFlowable<T> create(Flowable<T> source,
              long maxAge, TimeUnit unit, Scheduler scheduler)
focal_class.identifier: create
focal_class.modifiers: public static
focal_class.parameters: (Flowable<T> source,
              long maxAge, TimeUnit unit, Scheduler scheduler)
focal_class.return: ConnectableFlowable<T>
focal_class.signature: ConnectableFlowable<T> create(Flowable<T> source,
              long maxAge, TimeUnit unit, Scheduler scheduler)
focal_class.class_method_signature: FlowableReplay.create(Flowable<T> source,
              final long maxAge, final TimeUnit unit, final Scheduler scheduler, final int bufferSize)
focal_class.full_signature: public static ConnectableFlowable<T> create(Flowable<T> source,
              final long maxAge, final TimeUnit unit, final Scheduler scheduler, final int bufferSize)
focal_class.identifier: create
focal_class.modifiers: public static
focal_class.parameters: (Flowable<T> source,
              final long maxAge, final TimeUnit unit, final Scheduler scheduler, final int bufferSize)
focal_class.return: ConnectableFlowable<T>
focal_class.signature: ConnectableFlowable<T> create(Flowable<T> source,
              final long maxAge, final TimeUnit unit, final Scheduler scheduler, final int bufferSize)
focal_class.class_method_signature: FlowableReplay.create(Flowable<T> source,
              final Callable<? extends ReplayBuffer<T>> bufferFactory)
focal_class.full_signature: static ConnectableFlowable<T> create(Flowable<T> source,
              final Callable<? extends ReplayBuffer<T>> bufferFactory)
focal_class.identifier: create
focal_class.modifiers: static
focal_class.parameters: (Flowable<T> source,
              final Callable<? extends ReplayBuffer<T>> bufferFactory)
focal_class.return: ConnectableFlowable<T>
focal_class.signature: ConnectableFlowable<T> create(Flowable<T> source,
              final Callable<? extends ReplayBuffer<T>> bufferFactory)
focal_class.class_method_signature: FlowableReplay.FlowableReplay(Publisher<T> onSubscribe, Flowable<T> source,
              final AtomicReference<ReplaySubscriber<T>> current,
              final Callable<? extends ReplayBuffer<T>> bufferFactory)
focal_class.full_signature: private  FlowableReplay(Publisher<T> onSubscribe, Flowable<T> source,
              final AtomicReference<ReplaySubscriber<T>> current,
              final Callable<? extends ReplayBuffer<T>> bufferFactory)
focal_class.identifier: FlowableReplay
focal_class.modifiers: private
focal_class.parameters: (Publisher<T> onSubscribe, Flowable<T> source,
              final AtomicReference<ReplaySubscriber<T>> current,
              final Callable<? extends ReplayBuffer<T>> bufferFactory)
focal_class.signature:  FlowableReplay(Publisher<T> onSubscribe, Flowable<T> source,
              final AtomicReference<ReplaySubscriber<T>> current,
              final Callable<? extends ReplayBuffer<T>> bufferFactory)
focal_class.class_method_signature: FlowableReplay.source()
focal_class.full_signature: @Override public Publisher<T> source()
focal_class.identifier: source
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Publisher<T>
focal_class.signature: Publisher<T> source()
focal_class.class_method_signature: FlowableReplay.subscribeActual(Subscriber<? super T> s)
focal_class.full_signature: @Override protected void subscribeActual(Subscriber<? super T> s)
focal_class.identifier: subscribeActual
focal_class.modifiers: @Override protected
focal_class.parameters: (Subscriber<? super T> s)
focal_class.return: void
focal_class.signature: void subscribeActual(Subscriber<? super T> s)
focal_class.class_method_signature: FlowableReplay.dispose()
focal_class.full_signature: @Override public void dispose()
focal_class.identifier: dispose
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void dispose()
focal_class.class_method_signature: FlowableReplay.isDisposed()
focal_class.full_signature: @Override public boolean isDisposed()
focal_class.identifier: isDisposed
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isDisposed()
focal_class.class_method_signature: FlowableReplay.connect(Consumer<? super Disposable> connection)
focal_class.full_signature: @Override public void connect(Consumer<? super Disposable> connection)
focal_class.identifier: connect
focal_class.modifiers: @Override public
focal_class.parameters: (Consumer<? super Disposable> connection)
focal_class.return: void
focal_class.signature: void connect(Consumer<? super Disposable> connection)
focal_class.superclass: extends ConnectableFlowable<T>
focal_method.body: public static <T> ConnectableFlowable<T> create(Flowable<T> source,
              final int bufferSize) {
          if (bufferSize == Integer.MAX_VALUE) {
              return createFrom(source);
          }
          return create(source, new ReplayBufferTask<T>(bufferSize));
      }
focal_method.class_method_signature: FlowableReplay.create(Flowable<T> source,
              final int bufferSize)
focal_method.full_signature: public static ConnectableFlowable<T> create(Flowable<T> source,
              final int bufferSize)
focal_method.identifier: create
focal_method.invocations: createFrom create
focal_method.modifiers: public static
focal_method.parameters: (Flowable<T> source,
              final int bufferSize)
focal_method.return: ConnectableFlowable<T>
focal_method.signature: ConnectableFlowable<T> create(Flowable<T> source,
              final int bufferSize)