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); }
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); }
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); }
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); }
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); }