Minor refactor, added composite receivers test

Project: http://git-wip-us.apache.org/repos/asf/ode-jacob/repo
Commit: http://git-wip-us.apache.org/repos/asf/ode-jacob/commit/9841cc1c
Tree: http://git-wip-us.apache.org/repos/asf/ode-jacob/tree/9841cc1c
Diff: http://git-wip-us.apache.org/repos/asf/ode-jacob/diff/9841cc1c

Branch: refs/heads/master
Commit: 9841cc1c846d8efd60097aa460a0575546c811e8
Parents: c643a62
Author: Hadrian Zbarcea <[email protected]>
Authored: Mon Jan 13 13:42:05 2014 -0500
Committer: Hadrian Zbarcea <[email protected]>
Committed: Mon Jan 13 13:42:05 2014 -0500

----------------------------------------------------------------------
 .../org/apache/ode/jacob/oo/ProcessUtil.java    |  2 +-
 .../apache/ode/jacob/oo/JacobChannelsTest.java  | 98 +++++++++++++-------
 2 files changed, 66 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ode-jacob/blob/9841cc1c/src/main/java/org/apache/ode/jacob/oo/ProcessUtil.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/ode/jacob/oo/ProcessUtil.java 
b/src/main/java/org/apache/ode/jacob/oo/ProcessUtil.java
index f32c0f0..b7e61a6 100644
--- a/src/main/java/org/apache/ode/jacob/oo/ProcessUtil.java
+++ b/src/main/java/org/apache/ode/jacob/oo/ProcessUtil.java
@@ -37,7 +37,7 @@ public final class ProcessUtil {
            + channel == null ? "<null>" : channel.getClass().toString());
     }
     
-    public static CompositeProcess compose(ReceiveProcess process) {
+    public static CompositeProcess compose(ChannelListener process) {
         CompositeProcess result = new CompositeProcess();
         return result.or(process);
     }

http://git-wip-us.apache.org/repos/asf/ode-jacob/blob/9841cc1c/src/test/java/org/apache/ode/jacob/oo/JacobChannelsTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/ode/jacob/oo/JacobChannelsTest.java 
b/src/test/java/org/apache/ode/jacob/oo/JacobChannelsTest.java
index 5d277e5..c68c7f4 100644
--- a/src/test/java/org/apache/ode/jacob/oo/JacobChannelsTest.java
+++ b/src/test/java/org/apache/ode/jacob/oo/JacobChannelsTest.java
@@ -35,50 +35,82 @@ import org.junit.Test;
 
 public class JacobChannelsTest {
 
-       @Test
-       public void testMultipleSameTypeChannels() {
+    @Test
+    public void testMultipleSameTypeChannels() {
         JacobVPU vpu = new JacobVPU();
         vpu.setContext(new ExecutionQueueImpl());
 
-               Channel one = vpu.newChannel(Val.class, "");
-               Channel two = vpu.newChannel(Val.class, "");
-               CommChannel back1 = ChannelFactory.getBackend(one);
-               CommChannel back2 = ChannelFactory.getBackend(two);
-               Assert.assertEquals(back1.getType(), back2.getType());
-               Assert.assertNotEquals(back1.getId(), back2.getId());
-       }
-
-       @Test
-       @SuppressWarnings("serial")
-       public void testMultipleReceiversSameChannel() {
+        Channel one = vpu.newChannel(Val.class, "");
+        Channel two = vpu.newChannel(Val.class, "");
+        CommChannel back1 = ChannelFactory.getBackend(one);
+        CommChannel back2 = ChannelFactory.getBackend(two);
+        Assert.assertEquals(back1.getType(), back2.getType());
+        Assert.assertNotEquals(back1.getId(), back2.getId());
+    }
+
+    @Test
+    @SuppressWarnings("serial")
+    public void testMultipleReceiversSameChannel() {
         final JacobVPU vpu = new JacobVPU();
         vpu.setContext(new ExecutionQueueImpl());
-        
+
         final List<String> result = new ArrayList<String>();
         vpu.inject(new Runnable() {
-                       public void run() {
-                               Val v = (Val)vpu.newChannel(Val.class, "");
-                       object(receive(v, new Val() {
-                           public void val(Object retVal) {
-                               result.add("Hello " + retVal);
-                           }
-                       }));
-                       object(receive(v, new Val() {
-                           public void val(Object retVal) {
-                               result.add("Bonjour " + retVal);
-                           }
-                       }));
-                       
-                       v.val("Hadrian");
-                       
-                       }
+            public void run() {
+                Val v = (Val)vpu.newChannel(Val.class, "");
+                object(receive(v, new Val() {
+                    public void val(Object retVal) {
+                        result.add("Hello " + retVal);
+                    }
+                }));
+                object(receive(v, new Val() {
+                    public void val(Object retVal) {
+                        result.add("Bonjour " + retVal);
+                    }
+                }));
+
+                v.val("Hadrian");
+            }
         });
 
         while (vpu.execute()) {
-               // keep doing it...
+            // keep doing it...
         }
         // TODO: although it should probably be two
         //  not really clear what pi calculus says about shared channels
-               Assert.assertEquals(1, result.size());
-       }
+        Assert.assertEquals(1, result.size());
+    }
+
+    @Test
+    @SuppressWarnings("serial")
+    public void testCompositeReceiver() {
+        final JacobVPU vpu = new JacobVPU();
+        vpu.setContext(new ExecutionQueueImpl());
+
+        final List<String> result = new ArrayList<String>();
+        vpu.inject(new Runnable() {
+            public void run() {
+                Val v = (Val)vpu.newChannel(Val.class, "");
+                object(ProcessUtil.compose(receive(v, new Val() {
+                    public void val(Object retVal) {
+                        result.add("Hello " + retVal);
+                    }
+                })).or(receive(v, new Val() {
+                    public void val(Object retVal) {
+                        result.add("Bonjour " + retVal);
+                    }
+                })));
+
+                v.val("Hadrian");
+            }
+        });
+
+        while (vpu.execute()) {
+            // keep doing it...
+        }
+        // TODO: although it should probably be two
+        //  not really clear what pi calculus says about shared channels
+        Assert.assertEquals(1, result.size());
+    }
+
 }

Reply via email to