test_class.file: rxjava/src/test/java/io/reactivex/subscribers/ResourceSubscriberTest.java
test_class.identifier: ResourceSubscriberTest
test_case.body: @Test
      public void startOnce() {
  
          List<Throwable> error = TestHelper.trackPluginErrors();
  
          try {
              TestResourceSubscriber<Integer> tc = new TestResourceSubscriber<Integer>();
  
              tc.onSubscribe(new BooleanSubscription());
  
              BooleanSubscription d = new BooleanSubscription();
  
              tc.onSubscribe(d);
  
              assertTrue(d.isCancelled());
  
              assertEquals(1, tc.start);
  
              TestHelper.assertError(error, 0, IllegalStateException.class, EndConsumerHelper.composeMessage(tc.getClass().getName()));
          } finally {
              RxJavaPlugins.reset();
          }
      }
test_case.class_method_signature: ResourceSubscriberTest.startOnce()
test_case.full_signature: @Test public void startOnce()
test_case.identifier: startOnce
test_case.invocations: trackPluginErrors onSubscribe onSubscribe assertTrue isCancelled assertEquals assertError composeMessage getName getClass reset
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void startOnce()
focal_class.declarator: s = new AtomicReference<Subscription>()
focal_class.modifier: private final
focal_class.original_string: private final AtomicReference<Subscription> s = new AtomicReference<Subscription>();
focal_class.type: AtomicReference<Subscription>
focal_class.var_name: s
focal_class.declarator: resources = new ListCompositeDisposable()
focal_class.modifier: private final
focal_class.original_string: private final ListCompositeDisposable resources = new ListCompositeDisposable();
focal_class.type: ListCompositeDisposable
focal_class.var_name: resources
focal_class.declarator: missedRequested = new AtomicLong()
focal_class.modifier: private final
focal_class.original_string: private final AtomicLong missedRequested = new AtomicLong();
focal_class.type: AtomicLong
focal_class.var_name: missedRequested
focal_class.file: rxjava/src/main/java/io/reactivex/subscribers/ResourceSubscriber.java
focal_class.identifier: ResourceSubscriber
focal_class.interfaces: implements FlowableSubscriber<T>, Disposable
focal_class.class_method_signature: ResourceSubscriber.add(Disposable resource)
focal_class.full_signature: public final void add(Disposable resource)
focal_class.identifier: add
focal_class.modifiers: public final
focal_class.parameters: (Disposable resource)
focal_class.return: void
focal_class.signature: void add(Disposable resource)
focal_class.class_method_signature: ResourceSubscriber.onSubscribe(Subscription s)
focal_class.full_signature: @Override public final void onSubscribe(Subscription s)
focal_class.identifier: onSubscribe
focal_class.modifiers: @Override public final
focal_class.parameters: (Subscription s)
focal_class.return: void
focal_class.signature: void onSubscribe(Subscription s)
focal_class.class_method_signature: ResourceSubscriber.onStart()
focal_class.full_signature: protected void onStart()
focal_class.identifier: onStart
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void onStart()
focal_class.class_method_signature: ResourceSubscriber.request(long n)
focal_class.full_signature: protected final void request(long n)
focal_class.identifier: request
focal_class.modifiers: protected final
focal_class.parameters: (long n)
focal_class.return: void
focal_class.signature: void request(long n)
focal_class.class_method_signature: ResourceSubscriber.dispose()
focal_class.full_signature: @Override public final void dispose()
focal_class.identifier: dispose
focal_class.modifiers: @Override public final
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void dispose()
focal_class.class_method_signature: ResourceSubscriber.isDisposed()
focal_class.full_signature: @Override public final boolean isDisposed()
focal_class.identifier: isDisposed
focal_class.modifiers: @Override public final
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isDisposed()
focal_method.body: @Override
      public final void onSubscribe(Subscription s) {
          if (EndConsumerHelper.setOnce(this.s, s, getClass())) {
              long r = missedRequested.getAndSet(0L);
              if (r != 0L) {
                  s.request(r);
              }
              onStart();
          }
      }
focal_method.class_method_signature: ResourceSubscriber.onSubscribe(Subscription s)
focal_method.full_signature: @Override public final void onSubscribe(Subscription s)
focal_method.identifier: onSubscribe
focal_method.invocations: setOnce getClass getAndSet request onStart
focal_method.modifiers: @Override public final
focal_method.parameters: (Subscription s)
focal_method.return: void
focal_method.signature: void onSubscribe(Subscription s)