You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by ha...@apache.org on 2014/01/16 19:00:43 UTC

[05/10] git commit: Minor refactor, added composite receivers test

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 <hz...@gmail.com>
Authored: Mon Jan 13 13:42:05 2014 -0500
Committer: Hadrian Zbarcea <hz...@gmail.com>
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());
+    }
+
 }