From 401b1018942d06b887cd4074843c67ee6859293a Mon Sep 17 00:00:00 2001 From: Nelson Tavares de Sousa <ntd@informatik.uni-kiel.de> Date: Tue, 14 Apr 2015 11:26:11 +0200 Subject: [PATCH] removed error in traversor; finished corresponding test --- .../java/teetime/framework/Traversor.java | 11 ++++++----- .../java/teetime/framework/TraversorTest.java | 19 +++++++++++++++---- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/main/java/teetime/framework/Traversor.java b/src/main/java/teetime/framework/Traversor.java index 725ca314..bcc36c08 100644 --- a/src/main/java/teetime/framework/Traversor.java +++ b/src/main/java/teetime/framework/Traversor.java @@ -31,17 +31,18 @@ public class Traversor { } public void traverse(final Stage stage, final IPipe inputPipe) { - if (!visitedStage.contains(stage)) { - visitedStage.add(stage); - } else { - return; - } VisitorBehavior visitorBehavior = stageVisitor.visit(stage, inputPipe); if (visitorBehavior == VisitorBehavior.STOP) { return; } + if (!visitedStage.contains(stage)) { + visitedStage.add(stage); + } else { + return; + } + OutputPort<?>[] outputPorts = stage.getOutputPorts(); for (OutputPort<?> outputPort : outputPorts) { IPipe pipe = outputPort.getPipe(); diff --git a/src/test/java/teetime/framework/TraversorTest.java b/src/test/java/teetime/framework/TraversorTest.java index 19ac88ca..60db1db2 100644 --- a/src/test/java/teetime/framework/TraversorTest.java +++ b/src/test/java/teetime/framework/TraversorTest.java @@ -1,6 +1,10 @@ package teetime.framework; +import static org.junit.Assert.assertTrue; + import java.io.File; +import java.util.HashSet; +import java.util.Set; import org.junit.Test; @@ -24,21 +28,28 @@ public class TraversorTest { @Test public void traverse() { TestConfiguration tc = new TestConfiguration(); + new Analysis(tc).execute(); traversor.traverse(tc.init, tc.init.getOutputPort().getPipe()); - System.out.println(traversor.getVisitedStage()); + Set<Stage> comparingSet = new HashSet<Stage>(); + comparingSet.add(tc.init); + comparingSet.add(tc.f2b); + comparingSet.add(tc.distributor); + assertTrue(comparingSet.equals(traversor.getVisitedStage())); } private class TestConfiguration extends AnalysisConfiguration { public final CountingMapMerger<String> result = new CountingMapMerger<String>(); public final InitialElementProducer<File> init; + public final File2SeqOfWords f2b; + public Distributor<String> distributor; public TestConfiguration() { - int threads = 1; + int threads = 2; init = new InitialElementProducer<File>(new File("")); // final File2Lines f2b = new File2Lines(); - final File2SeqOfWords f2b = new File2SeqOfWords("UTF-8", 512); - Distributor<String> distributor = new Distributor<String>(new RoundRobinStrategy2()); + f2b = new File2SeqOfWords("UTF-8", 512); + distributor = new Distributor<String>(new RoundRobinStrategy2()); // last part final Merger<CountingMap<String>> merger = new Merger<CountingMap<String>>(); -- GitLab