diff options
| author | Andrew Lee <alee14498@protonmail.com> | 2020-04-19 17:19:32 -0400 |
|---|---|---|
| committer | Andrew Lee <alee14498@protonmail.com> | 2020-04-19 17:19:32 -0400 |
| commit | c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78 (patch) | |
| tree | ee4d51c7c1d633e11f46453ef1edd3c77c4ef9f7 /Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/PlayerTestAssemblyProvider.cs | |
| download | Project-Sandbox-c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78.tar.gz Project-Sandbox-c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78.tar.bz2 Project-Sandbox-c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78.zip | |
Inital commit
Diffstat (limited to 'Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/PlayerTestAssemblyProvider.cs')
| -rw-r--r-- | Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/PlayerTestAssemblyProvider.cs | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/PlayerTestAssemblyProvider.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/PlayerTestAssemblyProvider.cs new file mode 100644 index 0000000..0b47e1d --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/PlayerTestAssemblyProvider.cs @@ -0,0 +1,66 @@ +using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using NUnit.Framework.Interfaces;
+using UnityEngine.TestTools.NUnitExtensions;
+
+namespace UnityEngine.TestTools.Utils
+{
+ internal class PlayerTestAssemblyProvider
+ {
+ private IAssemblyLoadProxy m_AssemblyLoadProxy;
+ private readonly List<string> m_AssembliesToLoad;
+
+ //Cached until domain reload
+ private static List<IAssemblyWrapper> m_LoadedAssemblies;
+
+ internal PlayerTestAssemblyProvider(IAssemblyLoadProxy assemblyLoadProxy, List<string> assembliesToLoad)
+ {
+ m_AssemblyLoadProxy = assemblyLoadProxy;
+ m_AssembliesToLoad = assembliesToLoad;
+ LoadAssemblies();
+ }
+
+ public ITest GetTestsWithNUnit()
+ {
+ return BuildTests(TestPlatform.PlayMode, m_LoadedAssemblies.ToArray());
+ }
+
+ public List<IAssemblyWrapper> GetUserAssemblies()
+ {
+ return m_LoadedAssemblies;
+ }
+
+ protected static ITest BuildTests(TestPlatform testPlatform, IAssemblyWrapper[] assemblies)
+ {
+ var settings = UnityTestAssemblyBuilder.GetNUnitTestBuilderSettings(testPlatform);
+ var builder = new UnityTestAssemblyBuilder();
+ return builder.Build(assemblies.Select(a => a.Assembly).ToArray(), Enumerable.Repeat(testPlatform, assemblies.Length).ToArray(), settings);
+ }
+
+ private void LoadAssemblies()
+ {
+ if (m_LoadedAssemblies != null)
+ {
+ return;
+ }
+
+ m_LoadedAssemblies = new List<IAssemblyWrapper>();
+
+ foreach (var userAssembly in m_AssembliesToLoad)
+ {
+ IAssemblyWrapper a;
+ try
+ {
+ a = m_AssemblyLoadProxy.Load(userAssembly);
+ }
+ catch (FileNotFoundException)
+ {
+ continue;
+ }
+ if (a != null)
+ m_LoadedAssemblies.Add(a);
+ }
+ }
+ }
+}
|
