test_class.file: rxjava/src/test/java/io/reactivex/internal/disposables/CancellableDisposableTest.java
test_class.identifier: CancellableDisposableTest
test_case.body: @Test
      public void disposeRace() {
  
          for (int i = 0; i < TestHelper.RACE_DEFAULT_LOOPS; i++) {
              final AtomicInteger count = new AtomicInteger();
  
              Cancellable c = new Cancellable() {
                  @Override
                  public void cancel() throws Exception {
                      count.getAndIncrement();
                  }
              };
  
              final CancellableDisposable cd = new CancellableDisposable(c);
  
              Runnable r = new Runnable() {
                  @Override
                  public void run() {
                      cd.dispose();
                  }
              };
  
              TestHelper.race(r, r);
  
              assertEquals(1, count.get());
          }
      }
test_case.class_method_signature: CancellableDisposableTest.disposeRace()
test_case.full_signature: @Test public void disposeRace()
test_case.identifier: disposeRace
test_case.invocations: getAndIncrement dispose race assertEquals get
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void disposeRace()
focal_class.declarator: serialVersionUID = 5718521705281392066L
focal_class.modifier: private static final
focal_class.original_string: private static final long serialVersionUID = 5718521705281392066L;
focal_class.type: long
focal_class.var_name: serialVersionUID
focal_class.file: rxjava/src/main/java/io/reactivex/internal/disposables/CancellableDisposable.java
focal_class.identifier: CancellableDisposable
focal_class.interfaces: implements Disposable
focal_class.class_method_signature: CancellableDisposable.CancellableDisposable(Cancellable cancellable)
focal_class.full_signature: public  CancellableDisposable(Cancellable cancellable)
focal_class.identifier: CancellableDisposable
focal_class.modifiers: public
focal_class.parameters: (Cancellable cancellable)
focal_class.signature:  CancellableDisposable(Cancellable cancellable)
focal_class.class_method_signature: CancellableDisposable.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: CancellableDisposable.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.superclass: extends AtomicReference<Cancellable>
focal_method.body: @Override
      public void dispose() {
          if (get() != null) {
              Cancellable c = getAndSet(null);
              if (c != null) {
                  try {
                      c.cancel();
                  } catch (Exception ex) {
                      Exceptions.throwIfFatal(ex);
                      RxJavaPlugins.onError(ex);
                  }
              }
          }
      }
focal_method.class_method_signature: CancellableDisposable.dispose()
focal_method.full_signature: @Override public void dispose()
focal_method.identifier: dispose
focal_method.invocations: get getAndSet cancel throwIfFatal onError
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void dispose()