You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2020/05/14 17:30:09 UTC
[aries-component-dsl] 03/03: Add test for new applyTo fix
This is an automated email from the ASF dual-hosted git repository.
csierra pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/aries-component-dsl.git
commit 0787a70a68077ddadc4c2d4a830ab04ee4fa2350
Author: Carlos Sierra Andrés <ca...@liferay.com>
AuthorDate: Thu May 14 18:55:36 2020 +0200
Add test for new applyTo fix
---
.../apache/aries/component/dsl/test/DSLTest.java | 50 +++++++++++++++++-----
1 file changed, 39 insertions(+), 11 deletions(-)
diff --git a/itests/src/main/java/org/apache/aries/component/dsl/test/DSLTest.java b/itests/src/main/java/org/apache/aries/component/dsl/test/DSLTest.java
index a5cf8df..6fed6bf 100644
--- a/itests/src/main/java/org/apache/aries/component/dsl/test/DSLTest.java
+++ b/itests/src/main/java/org/apache/aries/component/dsl/test/DSLTest.java
@@ -51,17 +51,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
-import static org.apache.aries.component.dsl.OSGi.NOOP;
-import static org.apache.aries.component.dsl.OSGi.coalesce;
-import static org.apache.aries.component.dsl.OSGi.configuration;
-import static org.apache.aries.component.dsl.OSGi.configurations;
-import static org.apache.aries.component.dsl.OSGi.just;
-import static org.apache.aries.component.dsl.OSGi.nothing;
-import static org.apache.aries.component.dsl.OSGi.onClose;
-import static org.apache.aries.component.dsl.OSGi.once;
-import static org.apache.aries.component.dsl.OSGi.register;
-import static org.apache.aries.component.dsl.OSGi.serviceReferences;
-import static org.apache.aries.component.dsl.OSGi.services;
+import static org.apache.aries.component.dsl.OSGi.*;
import static org.apache.aries.component.dsl.Utils.accumulate;
import static org.apache.aries.component.dsl.Utils.highest;
import static org.junit.Assert.assertEquals;
@@ -236,6 +226,44 @@ public class DSLTest {
}
@Test
+ public void testCombine() {
+ List<Integer> list = new ArrayList<>();
+
+ ProbeImpl<Integer> probe1 = new ProbeImpl<>();
+ ProbeImpl<Integer> probe2 = new ProbeImpl<>();
+
+ OSGi<Integer> program = combine(
+ (x, y) -> x * y, probe1, probe2
+ ).effects(
+ list::add, list::remove
+ );
+
+ OSGiResult run = program.run(bundleContext);
+
+ Publisher<? super Integer> publisher1 = probe1.getPublisher();
+ Publisher<? super Integer> publisher2 = probe2.getPublisher();
+
+ OSGiResult osgiResult1 = publisher1.publish(3);
+ OSGiResult osgiResult2 = publisher2.publish(5);
+
+ assertTrue(list.contains(15));
+
+ osgiResult1.close();
+
+ assertFalse(list.contains(15));
+
+ publisher1.publish(3);
+
+ assertTrue(list.contains(15));
+
+ osgiResult2.close();
+
+ assertFalse(list.contains(15));
+
+ run.close();
+ }
+
+ @Test
public void testEffectsOrder() {
ArrayList<Object> effects = new ArrayList<>();