public List <IAssemblyWrapper> GetAssembliesGroupedByType(TestPlatform mode) { var assemblies = GetAssembliesGroupedByTypeAsync(mode); while (assemblies.MoveNext()) { } return(assemblies.Current.Where(pair => mode.IsFlagIncluded(pair.Key)).SelectMany(pair => pair.Value).ToList()); }
public override IEnumerator Execute(TestJobData testJobData) { if (testJobData.testTree != null) { yield break; } var assembliesEnumerator = m_testAssemblyProvider.GetAssembliesGroupedByTypeAsync(m_TestPlatform); while (assembliesEnumerator.MoveNext()) { yield return(null); } if (assembliesEnumerator.Current == null) { throw new Exception("Assemblies not retrieved."); } var assemblies = assembliesEnumerator.Current.Where(pair => m_TestPlatform.IsFlagIncluded(pair.Key)).SelectMany(pair => pair.Value).Select(x => x.Assembly).ToArray(); var buildSettings = UnityTestAssemblyBuilder.GetNUnitTestBuilderSettings(m_TestPlatform); var enumerator = m_testAssemblyBuilder.BuildAsync(assemblies, Enumerable.Repeat(m_TestPlatform, assemblies.Length).ToArray(), buildSettings); while (enumerator.MoveNext()) { yield return(null); } var testList = enumerator.Current; if (testList == null) { throw new Exception("Test list not retrieved."); } testList.ParseForNameDuplicates(); testJobData.testTree = testList; m_CallbacksDelegator.TestTreeRebuild(testList); }
public IEnumerator <ITest> GetTestListAsync(TestPlatform platform) { var assembliesTask = m_AssemblyProvider.GetAssembliesGroupedByTypeAsync(platform); while (assembliesTask.MoveNext()) { yield return(null); } var assemblies = assembliesTask.Current.Where(pair => platform.IsFlagIncluded(pair.Key)) .SelectMany(pair => pair.Value.Select(assemblyInfo => Tuple.Create(assemblyInfo.Assembly, pair.Key))).ToArray(); var settings = UnityTestAssemblyBuilder.GetNUnitTestBuilderSettings(platform); var test = m_AssemblyBuilder.BuildAsync(assemblies.Select(a => a.Item1).ToArray(), assemblies.Select(a => a.Item2).ToArray(), settings); while (test.MoveNext()) { yield return(null); } yield return(test.Current); }