📄 testtree.cs
字号:
this.treePanel.Size = new System.Drawing.Size(240, 430);
this.treePanel.TabIndex = 0;
//
// tests
//
this.tests.AllowDrop = true;
this.tests.CheckBoxes = true;
this.tests.Dock = System.Windows.Forms.DockStyle.Fill;
this.tests.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.tests.HideSelection = false;
this.tests.Location = new System.Drawing.Point(0, 0);
this.tests.Name = "tests";
this.tests.SelectedCategories = null;
this.tests.Size = new System.Drawing.Size(240, 430);
this.tests.TabIndex = 0;
//
// buttonPanel
//
this.buttonPanel.Controls.Add(this.checkFailedButton);
this.buttonPanel.Controls.Add(this.clearAllButton);
this.buttonPanel.Dock = System.Windows.Forms.DockStyle.Bottom;
this.buttonPanel.Location = new System.Drawing.Point(0, 430);
this.buttonPanel.Name = "buttonPanel";
this.buttonPanel.Size = new System.Drawing.Size(240, 40);
this.buttonPanel.TabIndex = 1;
//
// checkFailedButton
//
this.checkFailedButton.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.checkFailedButton.Location = new System.Drawing.Point(128, 8);
this.checkFailedButton.Name = "checkFailedButton";
this.checkFailedButton.Size = new System.Drawing.Size(80, 23);
this.checkFailedButton.TabIndex = 1;
this.checkFailedButton.Text = "Check Failed";
this.checkFailedButton.Click += new System.EventHandler(this.checkFailedButton_Click);
//
// clearAllButton
//
this.clearAllButton.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.clearAllButton.Location = new System.Drawing.Point(40, 8);
this.clearAllButton.Name = "clearAllButton";
this.clearAllButton.TabIndex = 0;
this.clearAllButton.Text = "Clear All";
this.clearAllButton.Click += new System.EventHandler(this.clearAllButton_Click);
//
// categoryPage
//
this.categoryPage.Controls.Add(this.categoryPanel);
this.categoryPage.Location = new System.Drawing.Point(4, 22);
this.categoryPage.Name = "categoryPage";
this.categoryPage.Size = new System.Drawing.Size(240, 470);
this.categoryPage.TabIndex = 1;
this.categoryPage.Text = "Categories";
//
// categoryPanel
//
this.categoryPanel.Controls.Add(this.categoryButtonPanel);
this.categoryPanel.Controls.Add(this.selectedCategories);
this.categoryPanel.Controls.Add(this.groupBox1);
this.categoryPanel.Dock = System.Windows.Forms.DockStyle.Fill;
this.categoryPanel.Location = new System.Drawing.Point(0, 0);
this.categoryPanel.Name = "categoryPanel";
this.categoryPanel.Size = new System.Drawing.Size(240, 470);
this.categoryPanel.TabIndex = 0;
//
// categoryButtonPanel
//
this.categoryButtonPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.categoryButtonPanel.Controls.Add(this.removeCategory);
this.categoryButtonPanel.Controls.Add(this.addCategory);
this.categoryButtonPanel.Location = new System.Drawing.Point(8, 259);
this.categoryButtonPanel.Name = "categoryButtonPanel";
this.categoryButtonPanel.Size = new System.Drawing.Size(224, 40);
this.categoryButtonPanel.TabIndex = 2;
//
// removeCategory
//
this.removeCategory.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.removeCategory.Location = new System.Drawing.Point(120, 8);
this.removeCategory.Name = "removeCategory";
this.removeCategory.TabIndex = 1;
this.removeCategory.Text = "Remove";
this.removeCategory.Click += new System.EventHandler(this.removeCategory_Click);
//
// addCategory
//
this.addCategory.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.addCategory.Location = new System.Drawing.Point(32, 8);
this.addCategory.Name = "addCategory";
this.addCategory.TabIndex = 0;
this.addCategory.Text = "Add";
this.addCategory.Click += new System.EventHandler(this.addCategory_Click);
//
// selectedCategories
//
this.selectedCategories.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.selectedCategories.Controls.Add(this.selectedList);
this.selectedCategories.Controls.Add(this.excludeCheckbox);
this.selectedCategories.Location = new System.Drawing.Point(8, 307);
this.selectedCategories.Name = "selectedCategories";
this.selectedCategories.Size = new System.Drawing.Size(224, 152);
this.selectedCategories.TabIndex = 1;
this.selectedCategories.TabStop = false;
this.selectedCategories.Text = "Selected Categories";
//
// selectedList
//
this.selectedList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.selectedList.Location = new System.Drawing.Point(8, 16);
this.selectedList.Name = "selectedList";
this.selectedList.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
this.selectedList.Size = new System.Drawing.Size(208, 95);
this.selectedList.TabIndex = 0;
//
// excludeCheckbox
//
this.excludeCheckbox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.excludeCheckbox.Location = new System.Drawing.Point(8, 128);
this.excludeCheckbox.Name = "excludeCheckbox";
this.excludeCheckbox.Size = new System.Drawing.Size(200, 16);
this.excludeCheckbox.TabIndex = 3;
this.excludeCheckbox.Text = "Exclude these categories";
this.excludeCheckbox.CheckedChanged += new System.EventHandler(this.excludeCheckbox_CheckedChanged);
//
// groupBox1
//
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox1.Controls.Add(this.availableList);
this.groupBox1.Location = new System.Drawing.Point(8, 16);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(224, 235);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Available Categories";
//
// availableList
//
this.availableList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.availableList.Location = new System.Drawing.Point(8, 24);
this.availableList.Name = "availableList";
this.availableList.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
this.availableList.Size = new System.Drawing.Size(208, 199);
this.availableList.TabIndex = 0;
//
// TestTree
//
this.Controls.Add(this.tabs);
this.Name = "TestTree";
this.Size = new System.Drawing.Size(248, 496);
this.tabs.ResumeLayout(false);
this.testPage.ResumeLayout(false);
this.testPanel.ResumeLayout(false);
this.treePanel.ResumeLayout(false);
this.buttonPanel.ResumeLayout(false);
this.categoryPage.ResumeLayout(false);
this.categoryPanel.ResumeLayout(false);
this.categoryButtonPanel.ResumeLayout(false);
this.selectedCategories.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
#region events
public event SelectedTestsChangedEventHandler SelectedTestsChanged;
#endregion
public void RunTests()
{
tests.RunTests();
}
private void addCategory_Click(object sender, System.EventArgs e)
{
if (availableList.SelectedItems.Count > 0)
{
ArrayList categories = new ArrayList(availableList.SelectedItems);
foreach ( string category in categories )
{
selectedList.Items.Add(category);
availableList.Items.Remove(category);
// CheckCategoryVisitor visitor = new CheckCategoryVisitor(category);
// tests.Accept(visitor);
}
tests.SelectedCategories = this.SelectedCategories;
if (this.SelectedCategories.Length > 0)
this.excludeCheckbox.Enabled = true;
}
}
private void removeCategory_Click(object sender, System.EventArgs e)
{
if (selectedList.SelectedItems.Count > 0)
{
ArrayList categories = new ArrayList(selectedList.SelectedItems);
foreach ( string category in categories )
{
selectedList.Items.Remove(category);
availableList.Items.Add(category);
// UnCheckCategoryVisitor visitor = new UnCheckCategoryVisitor(category);
// tests.Accept(visitor);
}
tests.SelectedCategories = this.SelectedCategories;
if (this.SelectedCategories.Length == 0)
this.excludeCheckbox.Enabled = false;
}
}
private void clearAllButton_Click(object sender, System.EventArgs e)
{
tests.ClearCheckedNodes();
}
private void checkFailedButton_Click(object sender, System.EventArgs e)
{
tests.CheckFailedNodes();
}
private void tests_SelectedTestChanged(UITestNode test)
{
if (SelectedTestsChanged != null)
{
SelectedTestsChangedEventArgs args = new SelectedTestsChangedEventArgs(test.Name, test.CountTestCases());
SelectedTestsChanged(tests, args);
}
}
private void events_TestLoaded(object sender, NUnit.Core.TestEventArgs args)
{
viewMenu.Visible = true;
availableCategories = AppUI.TestLoader.GetCategories();
availableList.Items.Clear();
selectedList.Items.Clear();
availableList.SuspendLayout();
foreach (string category in availableCategories)
availableList.Items.Add(category);
availableList.ResumeLayout();
}
private void events_TestReloaded(object sender, NUnit.Core.TestEventArgs args)
{
// Get new list of available categories
availableCategories = AppUI.TestLoader.GetCategories();
// Remove any selected items that are no longer available
int index = selectedList.Items.Count;
selectedList.SuspendLayout();
while( --index >= 0 )
{
string category = selectedList.Items[index].ToString();
if ( !availableCategories.Contains( category ) )
selectedList.Items.RemoveAt( index );
}
selectedList.ResumeLayout();
// Put any unselected available items availableList
availableList.Items.Clear();
availableList.SuspendLayout();
foreach( string category in availableCategories )
if( selectedList.FindStringExact( category ) < 0 )
availableList.Items.Add( category );
availableList.ResumeLayout();
// Tell the tree what is selected
tests.SelectedCategories = this.SelectedCategories;
}
private void excludeCheckbox_CheckedChanged(object sender, System.EventArgs e)
{
tests.ExcludeSelectedCategories = excludeCheckbox.Checked;
}
private void Events_TestUnloaded(object sender, NUnit.Core.TestEventArgs args)
{
viewMenu.Visible = false;
}
private void tests_CheckedTestChanged(UITestNode[] tests)
{
if (SelectedTestsChanged != null)
{
SelectedTestsChangedEventArgs args = new SelectedTestsChangedEventArgs("", tests.Length);
SelectedTestsChanged(tests, args);
}
if (tests.Length > 0)
{
}
}
private void ShowCheckBoxes( bool show )
{
tests.SaveVisualState();
tests.CheckBoxes = show;
buttonPanel.Visible = show;
clearAllButton.Visible = show;
checkFailedButton.Visible = show;
checkBoxesMenuItem.Checked = show;
UserSettings.Options.ShowCheckBoxes = show;
tests.RestoreVisualState();
}
private void checkBoxesMenuItem_Click(object sender, System.EventArgs e)
{
ShowCheckBoxes( !checkBoxesMenuItem.Checked );
// Temporary till we can save tree state and restore
//this.SetInitialExpansion();
}
}
public class SelectedTestsChangedEventArgs : EventArgs
{
private string testName;
private int count;
public SelectedTestsChangedEventArgs(string testName, int count)
{
this.testName = testName;
this.count = count;
}
public string TestName
{
get { return testName; }
}
public int TestCount
{
get { return count; }
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -