/
TON618OFF
/
Unity-Project-RTU
Обзор
Документация
Войти
/
TON618OFF
/
Unity-Project-RTU
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Library/PackageCache/com.unity.test-framework@1.1.33/UnityEngine.TestRunner/TestRunner/TestEnumeratorWrapper.cs
51 строка
2 KB
TON618OFF
release
03 окт 2024, 22:20
03 окт 2024, 22:20
7c70e9f
Код
Авторство
О чём код?
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; } } } }