diff options
| author | Andrew Lee <alee14498@protonmail.com> | 2020-04-20 19:09:33 -0400 |
|---|---|---|
| committer | Andrew Lee <alee14498@protonmail.com> | 2020-04-20 19:09:33 -0400 |
| commit | 7c1e566113d59699af1624186c64eca67f063fc6 (patch) | |
| tree | 5a6850a695986872d5d0b09d7dab8421628fe33e /Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/NUnitExtensions/ConstructDelegator.cs | |
| parent | dd117b77aae1d8be7563b360d05b842a73b7dab2 (diff) | |
| download | Project-Sandbox-7c1e566113d59699af1624186c64eca67f063fc6.tar.gz Project-Sandbox-7c1e566113d59699af1624186c64eca67f063fc6.tar.bz2 Project-Sandbox-7c1e566113d59699af1624186c64eca67f063fc6.zip | |
Upgraded Unity
Diffstat (limited to 'Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/NUnitExtensions/ConstructDelegator.cs')
| -rw-r--r-- | Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/NUnitExtensions/ConstructDelegator.cs | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/NUnitExtensions/ConstructDelegator.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/NUnitExtensions/ConstructDelegator.cs deleted file mode 100644 index 1a6dd61..0000000 --- a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/NUnitExtensions/ConstructDelegator.cs +++ /dev/null @@ -1,141 +0,0 @@ -using System;
-using System.Linq;
-using NUnit.Framework.Internal;
-using UnityEngine.TestRunner.NUnitExtensions.Runner;
-using UnityEngine.TestTools.Logging;
-using UnityEngine.TestTools.TestRunner;
-
-namespace UnityEngine.TestTools.NUnitExtensions
-{
- /// <summary>
- /// Specialization of BaseDelegator that makes sure objects are created on the MainThread.
- /// It also deals with ScriptableObjects so that tests can survive assembly reload.
- /// </summary>
- internal class ConstructDelegator
- {
- private Type m_RequestedType;
- private object[] m_Arguments;
-
- private ScriptableObject m_CurrentRunningTest;
- private readonly IStateSerializer m_StateSerializer;
-
- protected Exception m_Exception;
- protected object m_Result;
- protected ITestExecutionContext m_Context;
-
- public ConstructDelegator(IStateSerializer stateSerializer)
- {
- m_StateSerializer = stateSerializer;
- }
-
- protected object HandleResult()
- {
- SetCurrentTestContext();
- if (m_Exception != null)
- {
- var temp = m_Exception;
- m_Exception = null;
- throw temp;
- }
- var tempResult = m_Result;
- m_Result = null;
- return tempResult;
- }
-
- protected void SetCurrentTestContext()
- {
- var prop = typeof(UnityTestExecutionContext).GetProperty("CurrentContext");
- if (prop != null)
- {
- prop.SetValue(null, m_Context, null);
- }
- }
-
- public object Delegate(Type type, object[] arguments)
- {
- AssertState();
- m_Context = UnityTestExecutionContext.CurrentContext;
-
- m_RequestedType = type;
- m_Arguments = arguments;
-
- using (var logScope = new LogScope())
- {
- Execute(logScope);
- }
-
- return HandleResult();
- }
-
- private void AssertState()
- {
- if (m_RequestedType != null)
- {
- throw new Exception("Constructor not executed yet");
- }
- }
-
- public bool HasAction()
- {
- return m_RequestedType != null;
- }
-
- public void Execute(LogScope logScope)
- {
- try
- {
- if (typeof(ScriptableObject).IsAssignableFrom(m_RequestedType))
- {
- if (m_CurrentRunningTest != null && m_RequestedType != m_CurrentRunningTest.GetType())
- {
- DestroyCurrentTestObjectIfExists();
- }
- if (m_CurrentRunningTest == null)
- {
- if (m_StateSerializer.CanRestoreFromScriptableObject(m_RequestedType))
- {
- m_CurrentRunningTest = m_StateSerializer.RestoreScriptableObjectInstance();
- }
- else
- {
- m_CurrentRunningTest = ScriptableObject.CreateInstance(m_RequestedType);
- }
- }
- m_Result = m_CurrentRunningTest;
- }
- else
- {
- DestroyCurrentTestObjectIfExists();
- m_Result = Activator.CreateInstance(m_RequestedType, m_Arguments);
- if (m_StateSerializer.CanRestoreFromJson(m_RequestedType))
- {
- m_StateSerializer.RestoreClassFromJson(ref m_Result);
- }
- }
- if (logScope.AnyFailingLogs())
- {
- var failingLog = logScope.FailingLogs.First();
- throw new UnhandledLogMessageException(failingLog);
- }
- if (logScope.ExpectedLogs.Any())
- throw new UnexpectedLogMessageException(LogScope.Current.ExpectedLogs.Peek());
- }
- catch (Exception e)
- {
- m_Exception = e;
- }
- finally
- {
- m_RequestedType = null;
- m_Arguments = null;
- }
- }
-
- public void DestroyCurrentTestObjectIfExists()
- {
- if (m_CurrentRunningTest == null)
- return;
- Object.DestroyImmediate(m_CurrentRunningTest);
- }
- }
-}
|
