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