public void Pipeline_UnbindArgument_Throws_After_Initialize()
        {
            MockProcessor1 processor1 = new MockProcessor1();
            MockProcessorEchoString processor2 = new MockProcessorEchoString();
            Pipeline pipeline = new Pipeline(
                new Processor[] { processor1, processor2 },
                Enumerable.Empty<ProcessorArgument>(),
                Enumerable.Empty<ProcessorArgument>());

            pipeline.Initialize();

            ExceptionAssert.ThrowsInvalidOperation(
                "UnbindArgument should throw if called after initialize",
                () => pipeline.UnbindArguments(processor1.OutArguments[0], processor2.InArguments[0])
                );
        }