Exemplo n.º 1
0
        public void SplitInput()
        {
            var input = new InputPipe <long>("value");

            input.Process(LongToString);
            input.Process(IncrementLong);

            Verify(input);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        public void Lambda()
        {
            // begin-snippet: process_lambda
            var input = new InputPipe <int>("input");

            input.Process(p => p.ToString());
            // end-snippet

            PipelineApprovals.Verify(input);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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());
    }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
0
        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);
        }