@@ -0,0 +1,1456 @@
+package rx.subscriptions;%0A%0Aimport javafx.beans.binding.Binding;%0Aimport javafx.embed.swing.JFXPanel;%0Aimport org.junit.Test;%0Aimport rx.Observable;%0Aimport rx.schedulers.JavaFxScheduler;%0Aimport rx.subscribers.JavaFxSubscriber;%0A%0Aimport java.util.concurrent.TimeUnit;%0Aimport java.util.concurrent.*;%0A%0Aimport static org.junit.Assert.assertTrue;%0A%0Apublic final class BindingTest %7B%0A%0A    public BindingTest() %7B%0A        new JFXPanel();%0A    %7D%0A    @Test%0A    public void testCompositeBinding() %7B%0A        CompositeBinding bindings = new CompositeBinding();%0A%0A        Observable%3CLong%3E source = Observable.interval(1,TimeUnit.SECONDS);%0A        CountDownLatch unsbuscribeWait = new CountDownLatch(2);%0A%0A        Binding%3CLong%3E binding1 = JavaFxSubscriber.toBinding(source.doOnUnsubscribe(unsbuscribeWait::countDown).observeOn(JavaFxScheduler.getInstance()));%0A        bindings.add(binding1);%0A%0A        Binding%3CLong%3E binding2 = JavaFxSubscriber.toBinding(source.doOnUnsubscribe(unsbuscribeWait::countDown).reduce(0L,(x,y) -%3E x + y).observeOn(JavaFxScheduler.getInstance()));%0A        bindings.add(binding2);%0A%0A        try %7B%0A            Thread.sleep(3000);%0A        %7D catch (InterruptedException e) %7B%0A            e.printStackTrace();%0A        %7D%0A        assertTrue(bindings.hasSubscriptions());%0A%0A        bindings.dispose();%0A%0A        try %7B%0A            unsbuscribeWait.await(10,TimeUnit.SECONDS);%0A        %7D catch (InterruptedException e) %7B%0A            e.printStackTrace();%0A        %7D%0A    %7D%0A%7D%0A

add unit test for BindingTest