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());
+ }
+
}