public void TestConstructor() { //WindowControlから作成。 { NativeButton checkButton = new NativeButton(testDlg.IdentifyFromDialogId(1004)); checkButton.EmulateCheck(CheckState.Checked); Assert.AreEqual(CheckState.Checked, checkButton.CheckState); } //ハンドルから作成。 { NativeButton checkButton = new NativeButton(app, testDlg.IdentifyFromDialogId(1004).Handle); checkButton.EmulateCheck(CheckState.Unchecked); Assert.AreEqual(CheckState.Unchecked, checkButton.CheckState); } }
public void TestCheckException() { //イベントのテストではないのでメッセージボックスが出ないようにする。 app[typeof(EventChecker), "ClearAsyncMsgBox"](testDlg.Handle); try { NativeButton radio = new NativeButton(testDlg.IdentifyFromDialogId(1044)); radio.EmulateCheck(CheckState.Unchecked); Assert.Fail(); } catch (FriendlyOperationException e) { Assert.IsTrue(e.Message.IndexOf("指定のチェック状態はサポートされていません。" + Environment.NewLine + "ラジオボタンの場合、チェックをOFFにすることはできません。" + Environment.NewLine + "他のラジオボタンのチェックをONにすることで指定のラジオボタンをOFFにしてください。") != -1); } try { NativeButton checkButton = new NativeButton(testDlg.IdentifyFromDialogId(1005)); checkButton.EmulateCheck(CheckState.Indeterminate); Assert.Fail(); } catch (FriendlyOperationException e) { Assert.IsTrue(e.Message.IndexOf("指定のチェック状態はサポートされていません。" + Environment.NewLine + "ラジオボタンの場合、チェックをOFFにすることはできません。" + Environment.NewLine + "他のラジオボタンのチェックをONにすることで指定のラジオボタンをOFFにしてください。") != -1); } }
public void TestRadioCheck() { NativeButton radio1 = new NativeButton(testDlg.IdentifyFromDialogId(1044)); NativeButton radio2 = new NativeButton(testDlg.IdentifyFromDialogId(1045)); radio1.EmulateCheck(CheckState.Checked); Assert.AreEqual(CheckState.Unchecked, radio2.CheckState); radio2.EmulateCheck(CheckState.Checked); Assert.AreEqual(CheckState.Unchecked, radio1.CheckState); }
public void TestCheckEventAsync() { NativeButton checkButton = new NativeButton(testDlg.IdentifyFromDialogId(1005)); Async async = new Async(); checkButton.EmulateCheck(CheckState.Checked, async); Assert.IsTrue(0 < MessageBoxUtility.CloseAll(testDlg, async)); }
public void TestCheckEvent() { NativeButton checkButton = new NativeButton(testDlg.IdentifyFromDialogId(1004)); //同期実行。BN_CLICKEDが発生していることを確認。 Assert.IsTrue(EventChecker.IsSameTestEvent(testDlg, delegate { checkButton.EmulateCheck(CheckState.Checked); }, new CodeInfo(1004, NativeMethods.WM_COMMAND, BN_CLICKED))); //同じ状態であれば、BN_CLICKEDが発生しないことを確認。 Assert.IsTrue(EventChecker.IsSameTestEvent(testDlg, delegate { checkButton.EmulateCheck(CheckState.Checked); })); }
public void TestCheckStateValue() { //同期で実行 NativeButton checkButton = new NativeButton(testDlg.IdentifyFromDialogId(1004)); checkButton.EmulateCheck(CheckState.Checked); Assert.AreEqual(CheckState.Checked, checkButton.CheckState); checkButton.EmulateCheck(CheckState.Unchecked); Assert.AreEqual(CheckState.Unchecked, checkButton.CheckState); checkButton.EmulateCheck(CheckState.Indeterminate); Assert.AreEqual(CheckState.Indeterminate, checkButton.CheckState); //非同期メソッドでも同様の効果があることを確認。(内部的に間違ったメソッド呼び出しになっていないことの確認。) Async async = new Async(); checkButton.EmulateCheck(CheckState.Unchecked, async); while (!async.IsCompleted) { Thread.Sleep(10); } Assert.AreEqual(CheckState.Unchecked, checkButton.CheckState); }