public void TestItemEnabled()
        {
            FormsToolStripItem item = new FormsToolStrip(testDlg["menuStrip1"]()).FindItem("Menu001", "Menu001-02");

            item["Enabled"](false);
            Assert.AreEqual(false, item.Enabled);
            item["Enabled"](true);
            Assert.AreEqual(true, item.Enabled);
        }
        public void TestItemVisible()
        {
            FormsToolStripItem item = new FormsToolStrip(testDlg["toolStrip1"]()).FindItem("toolStripButton2");

            item["Visible"](false);
            Assert.AreEqual(false, item.Visible);
            item["Visible"](true);
            Assert.AreEqual(true, item.Visible);
        }
        public void WinForms()
        {
            var app = new WindowsAppFriend(Process.Start("WinForms.exe"));
            var mainForm = app.Type().System.Windows.Forms.Application.OpenForms[0];

            //WinFormsの場合は変数名で取りましょう。
            var _buttonX = new FormsButton(mainForm._buttonX);
            _buttonX.EmulateClick();

            //ポップアップメニューも変数からとる
            var _toolStripMenuItemA = new FormsToolStripItem(mainForm._toolStripMenuItemA);
            _toolStripMenuItemA.EmulateClick();

            //とは言え、取れないときも
            //そんなときは工夫する
            WindowsAppExpander.LoadAssembly(app, GetType().Assembly);
            var button名無し = new FormsButton(app.Type().Tips.ChildControl.Get名無し(mainForm));
            button名無し.EmulateClick();

            //メニューアイテムも上位ライブラリ使えばインデックスとかテキストから取れたり
            var menu = new FormsToolStrip(mainForm._contextMenuStrip);
            var b = menu.FindItem("B");
            b.EmulateClick();

            Process.GetProcessById(app.ProcessId).Kill();
        }
        public void TestGetItemInt()
        {
            FormsToolStrip menu = new FormsToolStrip(testDlg["menuStrip1"]());

            Assert.AreEqual("Menu001-02", menu.GetItem(0, 1).Text);
            FormsToolStrip toolBar = new FormsToolStrip(testDlg["toolStrip1"]());

            Assert.AreEqual("toolStripButton2", toolBar.GetItem(1).Text);
        }
        public void TestGetFindItem()
        {
            FormsToolStrip menu = new FormsToolStrip(testDlg["menuStrip1"]());

            Assert.AreEqual("Menu001-02", menu.FindItem("Menu001", "Menu001-02").Text);
            FormsToolStrip toolBar = new FormsToolStrip(testDlg["toolStrip1"]());

            Assert.AreEqual("toolStripButton2", toolBar.FindItem("toolStripButton2").Text);
            FormsToolStrip context = new FormsToolStrip(testDlg["contextMenuStrip1"]());

            Assert.AreEqual("MenuItem2", context.FindItem("MenuItem2").Text);
        }
        public void TestGetItemString()
        {
            FormsToolStrip menu = new FormsToolStrip(testDlg["menuStrip1"]());

            Assert.AreEqual("Menu001-02", menu.GetItem("menu001ToolStripMenuItem", "menu00102ToolStripMenuItem").Text);
            FormsToolStrip toolBar = new FormsToolStrip(testDlg["toolStrip1"]());

            Assert.AreEqual("toolStripButton2", toolBar.GetItem("toolStripButton2").Text);
            FormsToolStrip context = new FormsToolStrip(testDlg["contextMenuStrip1"]());

            Assert.AreEqual("MenuItem2", context.GetItem("menuItem2ToolStripMenuItem").Text);
        }
        public void TestEmulateClick()
        {
            FormsToolStripItem item = new FormsToolStrip(testDlg["contextMenuStrip1"]()).GetItem(1);

            item.EmulateClick();
            int count = (int)testDlg["async_counter"]().Core;

            Assert.AreEqual(0, count);

            //非同期
            app[GetType(), "ClickEvent"](testDlg.AppVar, item.AppVar);
            item.EmulateClick(new Async());
            new NativeMessageBox(testDlg.WaitForNextModal()).EmulateButtonClick("OK");
            count = (int)testDlg["async_counter"]().Core;
            Assert.AreEqual(0, count);
        }
        public void TestItemText()
        {
            FormsToolStripItem item = new FormsToolStrip(testDlg["menuStrip1"]()).FindItem("Menu001", "Menu001-02");

            Assert.AreEqual("Menu001-02", item.Text);
        }