public void ExecuteCallsPassedInExecuteDelegate()
        {
            var handlers = new AsyncDelegateObjectHandlers();

            using var waitHandle = new EventWaitHandle(false, EventResetMode.AutoReset);

            var command = new global::Anori.WinUI.Commands.AsyncRelayCommand <object>(async o =>
            {
                await handlers.Execute(o);
                waitHandle.Set();
            }) as ICommand;
            var parameter = new object();

            command.Execute(parameter);
            waitHandle.WaitOne();
            Assert.AreSame(parameter, handlers.ExecuteParameter);
        }
        public void WhenConstructedWithGenericTypeIsNonNullableValueType_Throws()
        {
            ICommand command = new global::Anori.WinUI.Commands.AsyncRelayCommand <int>(async o => await Task.Yield(), exception => { });

            Assert.Throws <InvalidCastException>(() => { command.Execute(new object()); });
        }