package com.scaleunlimited.cascading.local; import static org.junit.Assert.assertEquals; import java.util.List; import org.junit.Test; import cascading.flow.Flow; import cascading.flow.local.LocalFlowConnector; import cascading.flow.local.LocalFlowProcess; import cascading.pipe.Pipe; import cascading.tap.SinkMode; import cascading.tuple.Fields; import cascading.tuple.Tuple; import cascading.tuple.TupleEntry; import cascading.tuple.TupleEntryCollector; public class InMemoryTapLocalTest { @Test public void testWithLocalFlow() throws Exception { final Fields sourceFields = new Fields("letter"); InMemoryTap sourceTap = new InMemoryTap(sourceFields, sourceFields, SinkMode.REPLACE); TupleEntryCollector writer = sourceTap.openForWrite(new LocalFlowProcess()); writer.add(new Tuple("a")); writer.add(new Tuple("b")); writer.close(); final Fields sinkFields = sourceFields; InMemoryTap sinkTap = new InMemoryTap(sinkFields, sinkFields, SinkMode.REPLACE); Pipe p = new Pipe("pipe"); Flow f = new LocalFlowConnector().connect(sourceTap, sinkTap, p); f.complete(); List<TupleEntry> results = sinkTap.getOutput(); assertEquals(2, results.size()); assertEquals("a", results.get(0).getString("letter")); assertEquals("b", results.get(1).getString("letter")); } }