test_class.file: reactfx/src/test/java/org/reactfx/value/OrElseTest.java
test_class.identifier: OrElseTest
test_case.body: @Test
      public void testInvalidationEfficiency() {
          StringProperty s1 = new SimpleStringProperty("a");
          StringProperty s2 = new SimpleStringProperty("b");
          StringProperty s3 = new SimpleStringProperty("c");
  
          Val<String> firstNonNull = Val.orElse(s1, s2).orElse(s3);
  
          Counter invalidationCounter = new Counter();
          firstNonNull.addListener(obs -> invalidationCounter.inc());
  
          assertEquals(0, invalidationCounter.get());
  
          firstNonNull.getValue();
          assertEquals(0, invalidationCounter.get());
  
          s2.set("B");
          assertEquals(0, invalidationCounter.get());
  
          s3.set("C");
          assertEquals(0, invalidationCounter.get());
  
          s1.set("A");
          assertEquals(1, invalidationCounter.getAndReset());
      }
test_case.class_method_signature: OrElseTest.testInvalidationEfficiency()
test_case.full_signature: @Test public void testInvalidationEfficiency()
test_case.identifier: testInvalidationEfficiency
test_case.invocations: orElse orElse addListener inc assertEquals get getValue assertEquals get set assertEquals get set assertEquals get set assertEquals getAndReset
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testInvalidationEfficiency()
focal_class.declarator: src
focal_class.modifier: private final
focal_class.original_string: private final ObservableValue<? extends T> src;
focal_class.type: ObservableValue<? extends T>
focal_class.var_name: src
focal_class.declarator: other
focal_class.modifier: private final
focal_class.original_string: private final ObservableValue<? extends T> other;
focal_class.type: ObservableValue<? extends T>
focal_class.var_name: other
focal_class.declarator: trySrc
focal_class.modifier: private
focal_class.original_string: private boolean trySrc;
focal_class.type: boolean
focal_class.var_name: trySrc
focal_class.file: reactfx/src/main/java/org/reactfx/value/OrElse.java
focal_class.identifier: OrElse
focal_class.class_method_signature: OrElse.OrElse(
              ObservableValue<? extends T> src,
              ObservableValue<? extends T> other)
focal_class.full_signature:   OrElse(
              ObservableValue<? extends T> src,
              ObservableValue<? extends T> other)
focal_class.identifier: OrElse
focal_class.parameters: (
              ObservableValue<? extends T> src,
              ObservableValue<? extends T> other)
focal_class.signature:  OrElse(
              ObservableValue<? extends T> src,
              ObservableValue<? extends T> other)
focal_class.class_method_signature: OrElse.connect()
focal_class.full_signature: @Override protected Subscription connect()
focal_class.identifier: connect
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: Subscription
focal_class.signature: Subscription connect()
focal_class.class_method_signature: OrElse.computeValue()
focal_class.full_signature: @Override protected T computeValue()
focal_class.identifier: computeValue
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: T
focal_class.signature: T computeValue()
focal_class.superclass: extends ValBase<T>
focal_method.body: OrElse(
              ObservableValue<? extends T> src,
              ObservableValue<? extends T> other) {
          this.src = src;
          this.other = other;
      }
focal_method.class_method_signature: OrElse.OrElse(
              ObservableValue<? extends T> src,
              ObservableValue<? extends T> other)
focal_method.full_signature:   OrElse(
              ObservableValue<? extends T> src,
              ObservableValue<? extends T> other)
focal_method.identifier: OrElse
focal_method.parameters: (
              ObservableValue<? extends T> src,
              ObservableValue<? extends T> other)
focal_method.signature:  OrElse(
              ObservableValue<? extends T> src,
              ObservableValue<? extends T> other)