public void TestSetCompletedException1()
 {
     Async a = new Async();
     app[typeof(Control), "FromHandle", a](IntPtr.Zero);
     try
     {
         a.SetCompleted();
         Assert.IsTrue(false);
     }
     catch (FriendlyOperationException e)
     {
         Assert.AreEqual("不正な終了指定です。通常このメソッドは使用しません。", e.Message);
     }
 }
 public void TestSetCompletedException2()
 {
     Async a = new Async();
     a.SetCompleted();
     try
     {
         app[typeof(Control), "FromHandle", a](IntPtr.Zero);
         Assert.IsTrue(false);
     }
     catch (FriendlyOperationException e)
     {
         Assert.AreEqual("すでに実行されています。Asyncクラスの実行は一度だけです。複数回呼び出す場合は、再度Asyncクラスを生成してください。", e.Message);
     }
 }
 public void TestSetCompleted()
 {
     Async a = new Async();
     a.SetCompleted();
     Assert.IsTrue(a.IsCompleted);
     a.WaitForCompletion();
 }