public void PipelineContext_OnReadAllInputs_Overridable() { MockPipeline pipeline = TestPipelines.CreateMockProcessor1Pipeline(); MockPipelineContext context = pipeline.Context; bool processorCalled = false; context.OnReadAllInputsCalled = (inProc, inValues) => { // Inject a '3' into the inputs for proc 1 if (inProc == pipeline.Processors[1]) { processorCalled = true; Assert.AreEqual(4, inValues[0], "Expected to see '4' as the pipeline input"); inValues[0] = 3; } }; ProcessorResult procResult = pipeline.Execute(new object[] { 4 }); Assert.IsNotNull(procResult.Output, "Expected output array"); Assert.AreEqual(1, procResult.Output.Length, "Output size mismatch"); Assert.AreEqual(3.ToString(), procResult.Output[0], "Pipeline did not use context we injected"); Assert.IsTrue(processorCalled, "Our ReadAllInputs override was not called"); }
public void PipelineContext_ReadInput_Returns_WriteInput() { MockPipeline pipeline = TestPipelines.CreateMockProcessor1Pipeline(); MockPipelineContext context = pipeline.Context; context.WriteInput(pipeline.Processors[1].InArguments[0], 7); object value = context.ReadInput(pipeline.Processors[1].InArguments[0]); Assert.AreEqual(7, value, "Expected processor 1 to have this input value after we wrote it"); }
public void PipelineContext_ReadInput_Returns_Result_After_Execution() { MockPipeline pipeline = TestPipelines.CreateMockProcessor1Pipeline(); MockPipelineContext context = pipeline.Context; object value = context.ReadInput(pipeline.Processors[1].InArguments[0]); Assert.IsNull(value, "Expected null prior to execution"); ProcessorResult result = pipeline.Execute(new object[] { 7 }); value = context.ReadInput(pipeline.Processors[1].InArguments[0]); Assert.AreEqual(7, value, "Expected processor 1 to have this input value after execution"); }