public void Data_flows_from_output_to_input_operations(IOperation op, object output) { var sut = OperationContext.Create(op); var outputOperation = new FakeOutputOperation<object> { OutputValue = output }; var inputOperation = new FakeInputOperation<object>(); sut.RegisterOutputHandlers(outputOperation); outputOperation.Execute(); sut.ProvideInputs(inputOperation); Assert.Equal(outputOperation.OutputValue, inputOperation.ProvidedInput); }
public void You_can_get_output_of_a_specialized_type_directly_from_the_context_if_you_ask_for_it_explicitly(IOperation op, string output) { var sut = OperationContext.Create(op); var outputOperation = new FakeOutputOperation <string> { OutputValue = output }; sut.RegisterOutputHandlers(outputOperation); outputOperation.Execute(); var result = sut.GetOutput <object>(allowSpecializedClasses: true); Assert.Equal(outputOperation.OutputValue, result); }
public void You_cannot_get_output_of_a_specialized_type_directly_from_the_context(IOperation op, string output) { var sut = OperationContext.Create(op); var outputOperation = new FakeOutputOperation <string> { OutputValue = output }; sut.RegisterOutputHandlers(outputOperation); outputOperation.Execute(); var result = sut.GetOutput <object>(allowSpecializedClasses: false); Assert.Null(result); }
public void You_can_get_output_directly_from_the_context(IOperation op, object output) { var sut = OperationContext.Create(op); var outputOperation = new FakeOutputOperation <object> { OutputValue = output }; sut.RegisterOutputHandlers(outputOperation); outputOperation.Execute(); var result = sut.GetOutput <object>(); Assert.Equal(outputOperation.OutputValue, result); }
public void Data_flows_from_output_to_input_operations(IOperation op, object output) { var sut = OperationContext.Create(op); var outputOperation = new FakeOutputOperation <object> { OutputValue = output }; var inputOperation = new FakeInputOperation <object>(); sut.RegisterOutputHandlers(outputOperation); outputOperation.Execute(); sut.ProvideInputs(inputOperation); Assert.Equal(outputOperation.OutputValue, inputOperation.ProvidedInput); }
public void Data_flows_from_output_to_nested_decorated_input_operations(IOperation op, object output, FakeInputOperation <object> inputOperation) { var sut = OperationContext.Create(op); var outputOperation = new FakeOutputOperation <object> { OutputValue = output }; var decoratedInputOperation = new FakeOperationBehavior().AttachTo(new FakeOperationBehavior().AttachTo(inputOperation)); sut.RegisterOutputHandlers(outputOperation); outputOperation.Execute(); sut.ProvideInputs(decoratedInputOperation); Assert.Equal(outputOperation.OutputValue, inputOperation.ProvidedInput); }
public void The_most_recently_outputted_instance_of_a_data_type_is_available_as_input(IOperation op, object output) { var sut = OperationContext.Create(op); var outputOperation1 = new FakeOutputOperation<object> { OutputValue = output }; var outputOperation2 = new FakeOutputOperation<object> { OutputValue = output }; var inputOperation = new FakeInputOperation<object>(); sut.RegisterOutputHandlers(outputOperation1); sut.RegisterOutputHandlers(outputOperation2); outputOperation1.Execute(); outputOperation2.Execute(); sut.ProvideInputs(inputOperation); Assert.Equal(outputOperation2.OutputValue, inputOperation.ProvidedInput); }
public void The_most_recently_outputted_instance_of_a_data_type_is_available_as_input(IOperation op, object output) { var sut = OperationContext.Create(op); var outputOperation1 = new FakeOutputOperation <object> { OutputValue = output }; var outputOperation2 = new FakeOutputOperation <object> { OutputValue = output }; var inputOperation = new FakeInputOperation <object>(); sut.RegisterOutputHandlers(outputOperation1); sut.RegisterOutputHandlers(outputOperation2); outputOperation1.Execute(); outputOperation2.Execute(); sut.ProvideInputs(inputOperation); Assert.Equal(outputOperation2.OutputValue, inputOperation.ProvidedInput); }
public void Data_flows_from_the_most_recent_output_to_the_following_input_operation(IOperation op, object output) { var sut = OperationContext.Create(op); var outputOperation1 = new FakeOutputOperation <object> { OutputValue = output }; var outputOperation2 = new FakeOutputOperation <object> { OutputValue = output }; var inputOperation1 = new FakeInputOperation <object>(); var inputOperation2 = new FakeInputOperation <object>(); sut.RegisterOutputHandlers(outputOperation1); sut.RegisterOutputHandlers(outputOperation2); outputOperation1.Execute(); sut.ProvideInputs(inputOperation1); outputOperation2.Execute(); sut.ProvideInputs(inputOperation2); Assert.Equal(outputOperation1.OutputValue, inputOperation1.ProvidedInput); Assert.Equal(outputOperation2.OutputValue, inputOperation2.ProvidedInput); }
public void Data_flows_from_the_most_recent_output_to_the_following_input_operation(IOperation op, object output) { var sut = OperationContext.Create(op); var outputOperation1 = new FakeOutputOperation<object> { OutputValue = output }; var outputOperation2 = new FakeOutputOperation<object> { OutputValue = output }; var inputOperation1 = new FakeInputOperation<object>(); var inputOperation2 = new FakeInputOperation<object>(); sut.RegisterOutputHandlers(outputOperation1); sut.RegisterOutputHandlers(outputOperation2); outputOperation1.Execute(); sut.ProvideInputs(inputOperation1); outputOperation2.Execute(); sut.ProvideInputs(inputOperation2); Assert.Equal(outputOperation1.OutputValue, inputOperation1.ProvidedInput); Assert.Equal(outputOperation2.OutputValue, inputOperation2.ProvidedInput); }
public void Data_flows_from_output_to_nested_decorated_input_operations(IOperation op, object output, FakeInputOperation<object> inputOperation) { var sut = OperationContext.Create(op); var outputOperation = new FakeOutputOperation<object> { OutputValue = output }; var decoratedInputOperation = new FakeOperationBehavior().AttachTo(new FakeOperationBehavior().AttachTo(inputOperation)); sut.RegisterOutputHandlers(outputOperation); outputOperation.Execute(); sut.ProvideInputs(decoratedInputOperation); Assert.Equal(outputOperation.OutputValue, inputOperation.ProvidedInput); }
public void You_can_get_output_directly_from_the_context(IOperation op, object output) { var sut = OperationContext.Create(op); var outputOperation = new FakeOutputOperation<object> { OutputValue = output }; sut.RegisterOutputHandlers(outputOperation); outputOperation.Execute(); var result = sut.GetOutput<object>(); Assert.Equal(outputOperation.OutputValue, result); }