public async Task <bool> TestInvokeAsync_SendToPropertyInspector(string sendToPluginEvent, string sendToPropertyInspectorEvent) { int callCount = 0; // given var streamDeckSender = new Mock <IStreamDeckSender>(); streamDeckSender.Setup(s => s.SendToPropertyInspectorAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <object>())) .Callback <string, string, object>((contextUUID, actionUUID, payload) => { if (actionUUID == CONTEXT.Action && contextUUID == CONTEXT.Context && ((FooPropertyInspectorPayload)payload).Event == sendToPropertyInspectorEvent) { callCount++; } }).Returns(() => Task.CompletedTask); var action = new FooStreamDeckAction(); var args = this.GetArgs(sendToPluginEvent); action.Initialize(CONTEXT, streamDeckSender.Object); // when await this.Collection.InvokeAsync(action, args); // then return(callCount > 0); }
public async Task <bool> TestInvokeAsync_FindsEvent(string @event) { // given var action = new FooStreamDeckAction(); action.Initialize(CONTEXT, new Mock <IStreamDeckSender>().Object); var args = this.GetArgs(@event); // when, then await this.Collection.InvokeAsync(action, args); return(action.OverallMethodCallCount == 1); }
public async Task <string> TestInvoke(string methodName) { // given (var methodInfo, var attr) = this.GetParameters(methodName); var testCase = new PropertyInspectorMethodInfo(methodInfo, attr); // when var action = new FooStreamDeckAction(); var args = new ActionEventArgs <JObject>() { Payload = JObject.FromObject(new FooPropertyInspectorPayload()) }; var result = await testCase.InvokeAsync(action, args).ConfigureAwait(false); // then Assert.That(action.MethodCallCount[methodName], Is.EqualTo(1)); return(testCase.HasResult ? ((FooPropertyInspectorPayload)result).Source : null); }