3 #if SILICONSTUDIO_PLATFORM_IOS || SILICONSTUDIO_PLATFORM_ANDROID
4 using System.Collections;
6 using System.Reflection;
7 using NUnit.Framework.Api;
8 using NUnit.Framework.Internal;
10 namespace SiliconStudio.
Paradox.Graphics.Regression
16 public class NamespaceAssemblyBuilder : ITestAssemblyBuilder
18 private ITestAssemblyBuilder innerAssemblyBuilder;
20 public NamespaceAssemblyBuilder(ITestAssemblyBuilder innerAssemblyBuilder)
22 this.innerAssemblyBuilder = innerAssemblyBuilder;
25 public TestSuite Build(Assembly assembly,
IDictionary options)
27 return GroupByNamespace(innerAssemblyBuilder.Build(assembly, options));
30 public TestSuite Build(
string assemblyName,
IDictionary options)
32 return GroupByNamespace(innerAssemblyBuilder.Build(assemblyName, options));
35 public static TestSuite GroupByNamespace(TestSuite testSuite)
37 if (testSuite == null)
40 var result =
new TestSuite(testSuite.Name +
".Application");
42 foreach (var testGroup
in testSuite.Tests.GroupBy(x => GetNamespace(x)))
44 var namespaceSuite =
new TestNamespace(testGroup.Key);
45 foreach (var test
in testGroup)
47 namespaceSuite.Tests.Add(test);
50 result.Tests.Add(namespaceSuite);
56 private static string GetNamespace(ITest test)
58 var name = test.FullName;
60 var lastDot = name.LastIndexOf(
'.');
62 name = name.Substring(0, lastDot);