public void SplitInput() { var input = new InputPipe <long>("value"); input.Process(LongToString); input.Process(IncrementLong); Verify(input); }
public void MultipleJoinedBranches() { var input1 = new InputPipe <int>("input1"); var numbers1 = input1.Process(i1 => i1); var numbers2 = input1.Process(i2 => i2); var joinedPipes = numbers1.JoinTo(numbers2); var addPipe = joinedPipes.Process((a, b) => a + b); var collector = addPipe.Collect(); AssertInputsAndOutputs(input1, input1, collector); AssertInputsAndOutputs(numbers1, input1, collector); AssertInputsAndOutputs(numbers2, input1, collector); AssertInputsAndOutputs(joinedPipes, input1, collector); AssertInputsAndOutputs(addPipe, input1, collector); AssertInputsAndOutputs(collector, input1, collector); }
public void Lambda() { // begin-snippet: process_lambda var input = new InputPipe <int>("input"); input.Process(p => p.ToString()); // end-snippet PipelineApprovals.Verify(input); }
public void BasicPipelineTest() { var input = new InputPipe <string>("age"); var parse = input.Process(long.Parse); var collector = parse.Collect(); Verify(input); input.Send("42"); Assert.AreEqual(42, collector.SingleResult); }
public void SplitAndJoin() { var input = new InputPipe <string>("age"); var parse = input.Process(long.Parse); var longToString = parse.Process(LongToString); var incrementLong = parse.Process(IncrementLong); var joinedPipes = longToString.JoinTo(incrementLong).Collect(); Verify(input); }
public void ConnectedPipelinesTest() { var input = new InputPipe <string>("age"); var parsePipe = input.Process(long.Parse); var collector = parsePipe.Collect(); parsePipe.Process(LongToString).WithCollector().Process(long.Parse).WithCollector().Process(LongToString) .Collect(); Verify(input); }
public void SendAll() { var input = new InputPipe <int>("input"); var middle = input.Process(p => p + 1); var end = middle.Process(p => p.ToString()).Collect(); var inputsAndOutputs = middle.GetInputs <int>().AndOutputs <string>(); var(inputPipe, collectorPipe) = inputsAndOutputs.AsTuple(); inputsAndOutputs.SendAll(new[] { 1, 2, 3 }); Approvals.VerifyAll(inputsAndOutputs.Output1.Results, ""); }
public static string Convert(int i) { // Set up Pipeline var inputpipe = new InputPipe <int>("number"); var pipe = inputpipe.Process(_ => _.ToString()); var methodCallCollector = pipe.Collect(); inputpipe.Send(i); var variable = methodCallCollector.SingleResult; // ApprovalPipeline PipelineApprovals.Verify(inputpipe); // Send thru pipeline // Original code return(i.ToString()); }
public void SingleBranchPipe() { var input = new InputPipe <int>("input"); var middle = input.Process(p => p + 1); var end = middle.Process(p => p.ToString()).Collect(); var inputsAndOutputs = middle.GetInputs <int>().AndOutputs <string>(); var(inputPipe, collectorPipe) = inputsAndOutputs.AsTuple(); Assert.AreEqual(input, inputPipe); Assert.AreEqual(end, collectorPipe); inputsAndOutputs.Send(1); var singleResult = collectorPipe.SingleResult; Assert.AreEqual("2", singleResult); }
public void BasicPipelineFunctionalTest() { Func <string, long> normal = (string age) => { // startcode basic_code_line var _result = long.Parse(age); // endcode return(_result); }; // startcode basic_pipeline var inputPipe = new InputPipe <string>("age"); var parsePipe = inputPipe.Process(long.Parse); var collector = parsePipe.Collect(); inputPipe.Send("42"); var result = collector.SingleResult; // endcode Assert.AreEqual(normal("42"), result); }
public void ParallelRuns() { var inputPipe = new InputPipe <ConcurrentBag <int> >("inputs"); var echoPipe = inputPipe.Process(_ => _); var listAddPipe1 = echoPipe.Process(l => AddToList(l, 1)); var listAddPipe2 = echoPipe.Process(l => AddToList(l, 2)); var listAddPipe3 = echoPipe.Process(l => AddToList(l, 3)); var listAddPipe4 = echoPipe.Process(l => AddToList(l, 4)); var listAddPipe5 = echoPipe.Process(l => AddToList(l, 5)); var listAddPipe6 = echoPipe.Process(l => AddToList(l, 6)); var listAddPipe7 = echoPipe.Process(l => AddToList(l, 7)); var joinedPipe = listAddPipe1.JoinTo(listAddPipe2); var list1 = new ConcurrentBag <int>(); var list2 = new ConcurrentBag <int>(); inputPipe.Send(list1); inputPipe.Send(list2); Assert.AreEqual(list1.OrderBy(_ => _).ToReadableString(), list2.OrderBy(_ => _).ToReadableString()); PipelineApprovals.Verify(inputPipe); }