public void ShouldAllowSyncAction()
 {
     MyWrapper.Execute(() =>
     {
         Assert.IsTrue(true);
     });
 }
 public void ShouldAllowAsyncAction()
 {
     // This will throw an exception
     MyWrapper.Execute(async() =>
     {
         Assert.IsTrue(true);
         await Task.Run(() =>
         {
             Console.WriteLine("Kind of async");
         });
     });
 }
 public void ShouldThrowArgumentExceptionWhenAsync()
 {
     // This will throw an exception. But that's expected.
     MyWrapper.Execute(async() =>
     {
         Assert.IsTrue(true);
         await Task.Run(() =>
         {
             Console.WriteLine("Kind of async");
         });
     });
 }