Exemplo n.º 1
0
        public void InputIsAddedAsDependency()
        {
            var input = 10.AsPipelineConstant();
            var sut   = new DetachablePipelineStage <int>(input);

            PipelineAssert.DependentOn(sut, input);
        }
        public void InputIsRegisteredAsDependency()
        {
            var input = 1.AsPipelineConstant();
            var sut   = new ConcurrentExecutionPipelineStage <int>(input);

            PipelineAssert.DependentOn(sut, input);
        }
Exemplo n.º 3
0
        public void InitialSourceIsAddedAsDependency()
        {
            var input = 1.AsPipelineConstant();
            var sut   = new SourceSelectPipelineStage <int>("", input);

            PipelineAssert.DependentOn(sut, input);
        }
        public void InputIsAddedAsDependency()
        {
            var input = 10.AsPipelineConstant();
            var sut   = CreateCache(input);

            PipelineAssert.DependentOn(sut, input);
        }
Exemplo n.º 5
0
        public void InputIsAddedAsDependency()
        {
            var input = 1.AsPipelineConstant();
            var sut   = new DeltaPipelineStage <int, int>("", Extractor, input, -2);

            PipelineAssert.DependentOn(sut, input);
        }
        public void InputsAreAddedAsDependencies(int stages)
        {
            var input = Enumerable.Range(0, stages).Select(i => i.AsPipelineConstant()).ToArray();
            var sut   = new PipelinePropagationInformationStage <int>("", inv => 1, -1, input);

            PipelineAssert.DependentOn(sut, input);
        }
Exemplo n.º 7
0
        public void InputIsRegisteredAsDependency()
        {
            var input = 1.AsPipelineConstant();
            var sut   = new ThreadSafePipelineStage <int>(input);

            PipelineAssert.DependentOn(sut, input);
        }
        public void DependenciesToInputAndSuspensionAreRegisteredCorrectly()
        {
            var value   = Assignable(10);
            var suspend = Suspender(PipelineSuspensionState.Resume);
            var sut     = new SuspendingPipelineStage <int>(value, suspend);

            PipelineAssert.DependentOn(sut, value, suspend);
        }
        public void InputAndAllExclusiveStagesAreAddedAsDependencies(int numExclusive)
        {
            var input     = 10.AsPipelineConstant();
            var exclusive = Enumerable.Range(0, numExclusive).Select(i => i.AsPipelineConstant()).ToArray();
            var sut       = new MutuallyExclusivePipelineStage <int>(input, exclusive);

            PipelineAssert.DependentOn(sut, exclusive.Append(input).ToArray());
        }
        public void DependenciesToInputsAndSelectAreRegisteredCorrectly()
        {
            var select = 0.AsPipelineConstant();

            var input1 = 2.AsPipelineConstant();
            var input2 = 4.AsPipelineConstant();
            var inputs = CreateInputs(input1, input2);

            var sut = new MultiplexingPipelineStage <int, int>("Name", select, inputs);

            PipelineAssert.DependentOn(sut, select, input1, input2);
        }
        public void DependencyIsOnlyRemovedIfAllInputsDependentOnThatStageAreChanged()
        {
            var select    = AssignablePipelineStage.Create("Select", 0);
            var input0    = AssignablePipelineStage.Create("Input 0", 0);
            var newInput0 = AssignablePipelineStage.Create("Input 0 (new)", 0);
            var inputs    = CreateInputs(input0, input0);

            var sut = new MultiplexingPipelineStage <int, int>("Name", select, inputs);

            sut.SetInput(0, newInput0);
            PipelineAssert.DependentOn(sut, input0);
            sut.SetInput(1, newInput0);
            PipelineAssert.NotDependentOn(sut, input0);
        }
        public void SettingANewMappingRemovesOldDependencyAndAddsNew()
        {
            var select    = AssignablePipelineStage.Create("Select", 0);
            var input0    = AssignablePipelineStage.Create("Input 0", 0);
            var newInput0 = AssignablePipelineStage.Create("Input 0 (new)", 0);
            var inputs    = CreateInputs(input0);

            var sut = new MultiplexingPipelineStage <int, int>("Name", select, inputs);

            sut.SetInput(0, newInput0);

            PipelineAssert.NotDependentOn(sut, input0);
            PipelineAssert.DependentOn(sut, newInput0);
        }
        public void DependencyIsOnlyRemovedIfAllInputsDependentOnThatStageAreRemoved()
        {
            var select = AssignablePipelineStage.Create("Select", 0);
            var input0 = AssignablePipelineStage.Create("Input 0", 0);
            var input2 = AssignablePipelineStage.Create("Input 2", 0);
            var inputs = CreateInputs(input0, input0, input2);

            var sut = new MultiplexingPipelineStage <int, int>("Name", select, inputs);

            sut.RemoveInput(1);
            PipelineAssert.DependentOn(sut, input0, input2);
            select.SetValue(2); // To prevent exception
            sut.RemoveInput(0);
            PipelineAssert.NotDependentOn(sut, input0);
            PipelineAssert.DependentOn(sut, input2);
        }
Exemplo n.º 14
0
        public void SettingANewSourceRemovesOldDependencyANdAddsNew()
        {
            var input = 1.AsPipelineConstant();
            var sut   = new SourceSelectPipelineStage <int>("", input);

            PipelineAssert.DependentOn(sut, input);

            var input2 = 2.AsPipelineConstant();

            sut.SetSource(input2);
            PipelineAssert.NotDependentOn(sut, input);
            PipelineAssert.DependentOn(sut, input2);

            var input3 = 3.AsPipelineConstant();

            sut.SetSourceWithoutInvalidating(input3);
            PipelineAssert.NotDependentOn(sut, input2);
            PipelineAssert.DependentOn(sut, input3);
        }