SW 중심대학 OSS GIT 서버
박건태, 이승준, 고기완, 이준호
새로운 배포
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
using System;using System.Collections;using System.Reflection;using NUnit.Framework;using NUnit.Framework.Interfaces;using NUnit.Framework.Internal;
namespace UnityEngine.TestTools.TestRunner{ internal class TestEnumeratorWrapper { private readonly TestMethod m_TestMethod;
public TestEnumeratorWrapper(TestMethod testMethod) { m_TestMethod = testMethod; }
public IEnumerator GetEnumerator(ITestExecutionContext context) { if (m_TestMethod.Method.ReturnType.Type == typeof(IEnumerator)) { return HandleEnumerableTest(context); } var message = string.Format("Return type {0} of {1} in {2} is not supported.", m_TestMethod.Method.ReturnType, m_TestMethod.Method.Name, m_TestMethod.Method.TypeInfo.FullName); if (m_TestMethod.Method.ReturnType.Type == typeof(IEnumerable)) { message += "\nDid you mean IEnumerator?"; } throw new InvalidSignatureException(message); }
private IEnumerator HandleEnumerableTest(ITestExecutionContext context) { try { return m_TestMethod.Method.MethodInfo.Invoke(context.TestObject, m_TestMethod.parms != null ? m_TestMethod.parms.OriginalArguments : null) as IEnumerator; } catch (TargetInvocationException e) { if (e.InnerException is IgnoreException) { context.CurrentResult.SetResult(ResultState.Ignored, e.InnerException.Message); return null; } throw; } } }}
|