Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/NUnitTestSuite.cs9
-rw-r--r--main/src/addins/MonoDevelop.UnitTesting/Gui/TestNodeBuilder.cs31
-rw-r--r--main/src/addins/MonoDevelop.UnitTesting/MonoDevelop.UnitTesting.addin.xml1
-rw-r--r--main/src/addins/MonoDevelop.UnitTesting/Services/UnitTest.cs2
4 files changed, 27 insertions, 16 deletions
diff --git a/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/NUnitTestSuite.cs b/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/NUnitTestSuite.cs
index 77d6629e88..3f75c46b05 100644
--- a/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/NUnitTestSuite.cs
+++ b/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/NUnitTestSuite.cs
@@ -43,6 +43,15 @@ namespace MonoDevelop.UnitTesting.NUnit
this.testInfo = tinfo;
this.rootSuite = rootSuite;
this.TestId = tinfo.TestId;
+ this.canMergeWithParent = string.IsNullOrEmpty (tinfo.FixtureTypeName) &&
+ string.IsNullOrEmpty (tinfo.FixtureTypeNamespace);
+ }
+
+ bool canMergeWithParent;
+ public override bool CanMergeWithParent {
+ get {
+ return canMergeWithParent;
+ }
}
public override bool HasTests {
diff --git a/main/src/addins/MonoDevelop.UnitTesting/Gui/TestNodeBuilder.cs b/main/src/addins/MonoDevelop.UnitTesting/Gui/TestNodeBuilder.cs
index 5ca21b5dde..e7f5f1e38f 100644
--- a/main/src/addins/MonoDevelop.UnitTesting/Gui/TestNodeBuilder.cs
+++ b/main/src/addins/MonoDevelop.UnitTesting/Gui/TestNodeBuilder.cs
@@ -72,7 +72,7 @@ namespace MonoDevelop.UnitTesting
var singleTestSuffix = String.Empty;
if (test is UnitTestGroup unitTestGroup)
- singleTestSuffix = GetSuffix (unitTestGroup);
+ singleTestSuffix = GetSuffix (unitTestGroup, treeBuilder.Options ["CombineTestNamespaces"] );
var title = RemoveGenericArgument (test.Title);
title = test.Title + singleTestSuffix ;
@@ -100,24 +100,21 @@ namespace MonoDevelop.UnitTesting
}
}
- static string GetSuffix (UnitTestGroup unitTestGroup)
+ static string GetSuffix (UnitTestGroup unitTestGroup, bool combineNested )
{
var rootTitle = unitTestGroup?.Title;
var stringBuilder = new StringBuilder ();
while (unitTestGroup != null)
- if (ContainsSingleUnitTestGroup (unitTestGroup) && !(unitTestGroup is SolutionFolderTestGroup)) {
- var testCollection = unitTestGroup.Tests;
- var singleChildTestGroup = testCollection [0] as UnitTestGroup;
- stringBuilder.Append (".")
- .Append (singleChildTestGroup.Title);
+ if (ContainsUnitTestCanMerge (unitTestGroup) &&
+ !(unitTestGroup is SolutionFolderTestGroup)) {
+ var testCollection = unitTestGroup.Tests;
+ var singleChildTestGroup = testCollection [0] as UnitTestGroup;
+ if(singleChildTestGroup.CanMergeWithParent && combineNested)
+ stringBuilder.Append (".").Append (singleChildTestGroup.Title);
unitTestGroup = singleChildTestGroup;
} else
unitTestGroup = null;
-
- var result = stringBuilder.ToString ();
- if (result.TrimStart ('.') == rootTitle)
- result = String.Empty;
- return result;
+ return stringBuilder.ToString ();
}
public override void BuildChildNodes (ITreeBuilder builder, object dataObject)
@@ -126,7 +123,7 @@ namespace MonoDevelop.UnitTesting
if (test == null)
return;
- if (ContainsSingleUnitTestGroup (test)) {
+ if (ContainsUnitTestCanMerge (test) ) {
BuildChildNodes (test, builder);
return;
}
@@ -135,8 +132,9 @@ namespace MonoDevelop.UnitTesting
void BuildChildNodes (UnitTestGroup test, ITreeBuilder builder)
{
+ var combineTestNamespaces = builder.Options ["CombineTestNamespaces"];
bool isSolution = test is SolutionFolderTestGroup;
- if (!isSolution && ContainsSingleUnitTestGroup(test)) {
+ if (!isSolution && ContainsUnitTestCanMerge(test) && combineTestNamespaces) {
var unitTestGroup = test.Tests[0] as UnitTestGroup;
BuildChildNodes (unitTestGroup, builder);
return;
@@ -144,8 +142,9 @@ namespace MonoDevelop.UnitTesting
builder.AddChildren (test.Tests);
}
- static bool ContainsSingleUnitTestGroup(UnitTestGroup test) =>
- test.Tests.Count == 1 && test.Tests[0] is UnitTestGroup;
+ static bool ContainsUnitTestCanMerge(UnitTestGroup test) =>
+ test.Tests.Count == 1 && test.Tests[0] is UnitTestGroup &&
+ test.Tests [0].CanMergeWithParent;
public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
{
diff --git a/main/src/addins/MonoDevelop.UnitTesting/MonoDevelop.UnitTesting.addin.xml b/main/src/addins/MonoDevelop.UnitTesting/MonoDevelop.UnitTesting.addin.xml
index 59160ae129..c2158343b2 100644
--- a/main/src/addins/MonoDevelop.UnitTesting/MonoDevelop.UnitTesting.addin.xml
+++ b/main/src/addins/MonoDevelop.UnitTesting/MonoDevelop.UnitTesting.addin.xml
@@ -34,6 +34,7 @@
<SolutionPad id = "MonoDevelop.UnitTesting.TestPad" defaultLayout="*" defaultPlacement = "Right" defaultStatus="AutoHide" _label = "Unit Tests" icon = "nunit-pad-icon" class = "MonoDevelop.UnitTesting.TestPad" group="Unit Testing">
<PadOption id = "ShowTestTime" _label = "Show Test Time" defaultValue = "False" />
<PadOption id = "ShowTestCounters" _label = "Show Test Counters" defaultValue = "False" />
+ <PadOption id = "CombineTestNamespaces" _label = "Combine Test Namespaces" defaultValue = "True" />
<NodeBuilder id = "TestNode" class = "MonoDevelop.UnitTesting.TestNodeBuilder"/>
</SolutionPad>
<Pad id="MonoDevelop.UnitTesting.TestResultsPad" _label="Test Results" icon="nunit-pad-icon" class="MonoDevelop.UnitTesting.TestResultsPad" defaultPlacement = "Bottom" defaultLayout="UnitTesting" defaultStatus="AutoHide" group="Unit Testing"/>
diff --git a/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTest.cs b/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTest.cs
index b759443617..bf02475122 100644
--- a/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTest.cs
+++ b/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTest.cs
@@ -53,6 +53,8 @@ namespace MonoDevelop.UnitTesting
bool historicResult;
bool resultLoaded;
+ public virtual bool CanMergeWithParent => false;
+
public string FixtureTypeNamespace {
get;
set;