public static async Task GetProtocolAndExecuteViaReflectionAsync_void___Should_execute_the_operation___When_called() { // Arrange var operation1Counter = 4; var operation2Counter = 10; var operation1 = new SiblingOperation1 { ActionToRun = () => operation1Counter++, }; var operation2 = new SiblingOperation2 { ActionToRun = () => operation2Counter++, }; var protocolFactory = new ProtocolFactory(); protocolFactory.RegisterProtocolForSupportedOperations(typeof(SiblingOperationProtocol), () => new SiblingOperationProtocol()); // Act, Assert await protocolFactory.GetProtocolAndExecuteViaReflectionAsync(operation1); operation1Counter.AsTest().Must().BeEqualTo(6); await protocolFactory.GetProtocolAndExecuteViaReflectionAsync(operation2); operation2Counter.AsTest().Must().BeEqualTo(12); await protocolFactory.GetProtocolAndExecuteViaReflectionAsync(operation1); operation1Counter.AsTest().Must().BeEqualTo(8); }
public async Task ExecuteAsync(SiblingOperation2 operation) { operation.ActionToRun?.Invoke(); operation.ActionToRun?.Invoke(); await Task.FromResult(1); }
public static void ExecuteViaReflection_void___Should_execute_the_operation___When_called() { // Arrange var operation1Counter = 4; var operation2Counter = 10; var operation1 = new SiblingOperation1 { ActionToRun = () => operation1Counter++, }; var operation2 = new SiblingOperation2 { ActionToRun = () => operation2Counter++, }; var protocol = new SiblingOperationProtocol(); // Act, Assert protocol.ExecuteViaReflection(operation1); operation1Counter.AsTest().Must().BeEqualTo(5); protocol.ExecuteViaReflection(operation2); operation2Counter.AsTest().Must().BeEqualTo(11); protocol.ExecuteViaReflection(operation1); operation1Counter.AsTest().Must().BeEqualTo(6); }
public void Execute(SiblingOperation2 operation) { operation.ActionToRun?.Invoke(); }
public void Execute(SiblingOperation2 operation) { throw new NotImplementedException(); }