public static async Task ExecuteViaReflectionAsync_TResult___Should_execute_the_operation___When_called() { // Arrange var operation1 = new SiblingOperation3 { Value = 4, }; var operation2 = new SiblingOperation4 { Value = 6, }; var operation3 = new SiblingOperation3 { Value = 1, }; var protocol = new SiblingOperationProtocol(); // Act var actual1 = await protocol.ExecuteViaReflectionAsync <int>(operation1); var actual2 = await protocol.ExecuteViaReflectionAsync <int>(operation2); var actual3 = await protocol.ExecuteViaReflectionAsync <int>(operation3); // Assert actual1.AsTest().Must().BeEqualTo(7); actual2.AsTest().Must().BeEqualTo(10); actual3.AsTest().Must().BeEqualTo(4); }
public static async Task GetProtocolAndExecuteViaReflectionAsync_TResult___Should_execute_the_operation___When_called() { // Arrange var operation1 = new SiblingOperation3 { Value = 4, }; var operation2 = new SiblingOperation4 { Value = 6, }; var operation3 = new SiblingOperation3 { Value = 1, }; var protocolFactory = new ProtocolFactory(); protocolFactory.RegisterProtocolForSupportedOperations(typeof(SiblingOperationProtocol), () => new SiblingOperationProtocol()); // Act var actual1 = await protocolFactory.GetProtocolAndExecuteViaReflectionAsync <int>(operation1); var actual2 = await protocolFactory.GetProtocolAndExecuteViaReflectionAsync <int>(operation2); var actual3 = await protocolFactory.GetProtocolAndExecuteViaReflectionAsync <int>(operation3); // Assert actual1.AsTest().Must().BeEqualTo(7); actual2.AsTest().Must().BeEqualTo(10); actual3.AsTest().Must().BeEqualTo(4); }
public static void ExecuteViaReflection_TResult___Should_execute_the_operation___When_called() { // Arrange var operation1 = new SiblingOperation3 { Value = 4, }; var operation2 = new SiblingOperation4 { Value = 6, }; var operation3 = new SiblingOperation3 { Value = 1, }; var protocol = new SiblingOperationProtocol(); // Act var actual1 = protocol.ExecuteViaReflection <int>(operation1); var actual2 = protocol.ExecuteViaReflection <int>(operation2); var actual3 = protocol.ExecuteViaReflection <int>(operation3); // Assert actual1.AsTest().Must().BeEqualTo(5); actual2.AsTest().Must().BeEqualTo(8); actual3.AsTest().Must().BeEqualTo(2); }
public async Task <int> ExecuteAsync(SiblingOperation3 operation) { var result = operation.Value + 3; await Task.FromResult(result); return(result); }
public int Execute(SiblingOperation3 operation) { var result = operation.Value + 1; return(result); }