A game about forced loneliness, made by TACStudios
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using NUnit.Framework.Interfaces;
5using UnityEngine.TestRunner.NUnitExtensions.Runner;
6
7namespace UnityEngine.TestRunner.TestLaunchers
8{
9 internal class RemoteTestResultDataFactory : IRemoteTestResultDataFactory
10 {
11 public RemoteTestResultDataWithTestData CreateFromTestResult(ITestResult result)
12 {
13 var tests = CreateTestDataList(result.Test);
14 tests.First().testCaseTimeout = UnityTestExecutionContext.CurrentContext.TestCaseTimeout;
15 return new RemoteTestResultDataWithTestData
16 {
17 results = CreateTestResultDataList(result),
18 tests = tests
19 };
20 }
21
22 public RemoteTestResultDataWithTestData CreateFromTest(ITest test)
23 {
24 var tests = CreateTestDataList(test);
25 if (UnityTestExecutionContext.CurrentContext != null)
26 {
27 tests.First().testCaseTimeout = UnityTestExecutionContext.CurrentContext.TestCaseTimeout;
28 }
29
30 return new RemoteTestResultDataWithTestData
31 {
32 tests = tests
33 };
34 }
35
36 private RemoteTestData[] CreateTestDataList(ITest test)
37 {
38 var list = new List<RemoteTestData>();
39 list.Add(new RemoteTestData(test));
40 list.AddRange(test.Tests.SelectMany(CreateTestDataList));
41 return list.ToArray();
42 }
43
44 private static RemoteTestResultData[] CreateTestResultDataList(ITestResult result)
45 {
46 var list = new List<RemoteTestResultData>();
47 list.Add(new RemoteTestResultData(result, result.Test.Parent == null));
48 list.AddRange(result.Children.SelectMany(CreateTestResultDataList));
49 return list.ToArray();
50 }
51 }
52}