test_class.declarator: errors
test_class.original_string: List<Throwable> errors;
test_class.type: List<Throwable>
test_class.var_name: errors
test_class.file: rxjava/src/test/java/io/reactivex/internal/util/EndConsumerHelperTest.java
test_class.identifier: EndConsumerHelperTest
test_case.body: @Test
      public void checkDoubleResourceCompletableObserver() {
          CompletableObserver consumer = new ResourceCompletableObserver() {
              @Override
              public void onError(Throwable t) {
              }
              @Override
              public void onComplete() {
              }
          };
  
          Disposable sub1 = Disposables.empty();
  
          consumer.onSubscribe(sub1);
  
          assertFalse(sub1.isDisposed());
  
          Disposable sub2 = Disposables.empty();
  
          consumer.onSubscribe(sub2);
  
          assertFalse(sub1.isDisposed());
  
          assertTrue(sub2.isDisposed());
  
          TestHelper.assertError(errors, 0, ProtocolViolationException.class);
          assertEquals(EndConsumerHelper.composeMessage(consumer.getClass().getName()), errors.get(0).getMessage());
          assertEquals(errors.toString(), 1, errors.size());
      }
test_case.class_method_signature: EndConsumerHelperTest.checkDoubleResourceCompletableObserver()
test_case.full_signature: @Test public void checkDoubleResourceCompletableObserver()
test_case.identifier: checkDoubleResourceCompletableObserver
test_case.invocations: empty onSubscribe assertFalse isDisposed empty onSubscribe assertFalse isDisposed assertTrue isDisposed assertError assertEquals composeMessage getName getClass getMessage get assertEquals toString size
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void checkDoubleResourceCompletableObserver()
focal_class.file: rxjava/src/main/java/io/reactivex/internal/util/EndConsumerHelper.java
focal_class.identifier: EndConsumerHelper
focal_class.class_method_signature: EndConsumerHelper.EndConsumerHelper()
focal_class.full_signature: private  EndConsumerHelper()
focal_class.identifier: EndConsumerHelper
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  EndConsumerHelper()
focal_class.class_method_signature: EndConsumerHelper.validate(Disposable upstream, Disposable next, Class<?> observer)
focal_class.full_signature: public static boolean validate(Disposable upstream, Disposable next, Class<?> observer)
focal_class.identifier: validate
focal_class.modifiers: public static
focal_class.parameters: (Disposable upstream, Disposable next, Class<?> observer)
focal_class.return: boolean
focal_class.signature: boolean validate(Disposable upstream, Disposable next, Class<?> observer)
focal_class.class_method_signature: EndConsumerHelper.setOnce(AtomicReference<Disposable> upstream, Disposable next, Class<?> observer)
focal_class.full_signature: public static boolean setOnce(AtomicReference<Disposable> upstream, Disposable next, Class<?> observer)
focal_class.identifier: setOnce
focal_class.modifiers: public static
focal_class.parameters: (AtomicReference<Disposable> upstream, Disposable next, Class<?> observer)
focal_class.return: boolean
focal_class.signature: boolean setOnce(AtomicReference<Disposable> upstream, Disposable next, Class<?> observer)
focal_class.class_method_signature: EndConsumerHelper.validate(Subscription upstream, Subscription next, Class<?> subscriber)
focal_class.full_signature: public static boolean validate(Subscription upstream, Subscription next, Class<?> subscriber)
focal_class.identifier: validate
focal_class.modifiers: public static
focal_class.parameters: (Subscription upstream, Subscription next, Class<?> subscriber)
focal_class.return: boolean
focal_class.signature: boolean validate(Subscription upstream, Subscription next, Class<?> subscriber)
focal_class.class_method_signature: EndConsumerHelper.setOnce(AtomicReference<Subscription> upstream, Subscription next, Class<?> subscriber)
focal_class.full_signature: public static boolean setOnce(AtomicReference<Subscription> upstream, Subscription next, Class<?> subscriber)
focal_class.identifier: setOnce
focal_class.modifiers: public static
focal_class.parameters: (AtomicReference<Subscription> upstream, Subscription next, Class<?> subscriber)
focal_class.return: boolean
focal_class.signature: boolean setOnce(AtomicReference<Subscription> upstream, Subscription next, Class<?> subscriber)
focal_class.class_method_signature: EndConsumerHelper.composeMessage(String consumer)
focal_class.full_signature: public static String composeMessage(String consumer)
focal_class.identifier: composeMessage
focal_class.modifiers: public static
focal_class.parameters: (String consumer)
focal_class.return: String
focal_class.signature: String composeMessage(String consumer)
focal_class.class_method_signature: EndConsumerHelper.reportDoubleSubscription(Class<?> consumer)
focal_class.full_signature: public static void reportDoubleSubscription(Class<?> consumer)
focal_class.identifier: reportDoubleSubscription
focal_class.modifiers: public static
focal_class.parameters: (Class<?> consumer)
focal_class.return: void
focal_class.signature: void reportDoubleSubscription(Class<?> consumer)
focal_method.body: public static String composeMessage(String consumer) {
          return "It is not allowed to subscribe with a(n) " + consumer + " multiple times. "
                  + "Please create a fresh instance of " + consumer + " and subscribe that to the target source instead.";
      }
focal_method.class_method_signature: EndConsumerHelper.composeMessage(String consumer)
focal_method.full_signature: public static String composeMessage(String consumer)
focal_method.identifier: composeMessage
focal_method.modifiers: public static
focal_method.parameters: (String consumer)
focal_method.return: String
focal_method.signature: String composeMessage(String consumer)