A game about forced loneliness, made by TACStudios
1using System;
2using System.Collections;
3using NUnit.Framework.Interfaces;
4using NUnit.Framework.Internal;
5
6namespace UnityEngine.TestRunner.NUnitExtensions.Runner
7{
8 internal abstract class WorkItemFactory
9 {
10 public UnityWorkItem Create(ITest loadedTest, ITestFilter filter)
11 {
12 TestSuite suite = loadedTest as TestSuite;
13 if (suite != null)
14 {
15 return new CompositeWorkItem(suite, filter, this);
16 }
17
18 var testMethod = (TestMethod)loadedTest;
19 if (testMethod.Method.ReturnType.Type != typeof(IEnumerator))
20 {
21 return new DefaultTestWorkItem(testMethod, filter);
22 }
23
24 return Create(testMethod, filter, loadedTest);
25 }
26
27 protected abstract UnityWorkItem Create(TestMethod method, ITestFilter filter, ITest loadedTest);
28 }
29}