mirror of
https://gitgud.io/AbstractConcept/rimworld-animation-studio.git
synced 2024-08-15 00:43:27 +00:00
Initial commit
This commit is contained in:
commit
3c7cc0c973
8391 changed files with 704313 additions and 0 deletions
|
@ -0,0 +1,80 @@
|
|||
using System;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using NUnit.Framework.Interfaces;
|
||||
using NUnit.Framework.Internal;
|
||||
using UnityEngine;
|
||||
using UnityEngine.TestRunner.NUnitExtensions;
|
||||
|
||||
namespace UnityEditor.TestTools.TestRunner
|
||||
{
|
||||
[Serializable]
|
||||
internal class TestResultSerializer
|
||||
{
|
||||
private static readonly BindingFlags flags = BindingFlags.NonPublic | BindingFlags.Public |
|
||||
BindingFlags.Instance | BindingFlags.FlattenHierarchy;
|
||||
|
||||
[SerializeField] public string id;
|
||||
|
||||
[SerializeField] public string fullName;
|
||||
|
||||
[SerializeField] private double duration;
|
||||
|
||||
[SerializeField] private string label;
|
||||
|
||||
[SerializeField] private string message;
|
||||
|
||||
[SerializeField] private string output;
|
||||
|
||||
[SerializeField] private string site;
|
||||
|
||||
[SerializeField] private string stacktrace;
|
||||
|
||||
[SerializeField] private double startTimeAO;
|
||||
|
||||
[SerializeField] private double endTimeAO;
|
||||
|
||||
[SerializeField] private string status;
|
||||
|
||||
[SerializeField] public string uniqueName;
|
||||
|
||||
public static TestResultSerializer MakeFromTestResult(ITestResult result)
|
||||
{
|
||||
var wrapper = new TestResultSerializer();
|
||||
wrapper.id = result.Test.Id;
|
||||
wrapper.fullName = result.FullName;
|
||||
wrapper.status = result.ResultState.Status.ToString();
|
||||
wrapper.label = result.ResultState.Label;
|
||||
wrapper.site = result.ResultState.Site.ToString();
|
||||
wrapper.output = result.Output;
|
||||
wrapper.duration = result.Duration;
|
||||
wrapper.stacktrace = result.StackTrace;
|
||||
wrapper.message = result.Message;
|
||||
wrapper.startTimeAO = result.StartTime.ToOADate();
|
||||
wrapper.endTimeAO = result.EndTime.ToOADate();
|
||||
wrapper.uniqueName = result.Test.GetUniqueName();
|
||||
return wrapper;
|
||||
}
|
||||
|
||||
public void RestoreTestResult(TestResult result)
|
||||
{
|
||||
var resultState = new ResultState((TestStatus)Enum.Parse(typeof(TestStatus), status), label,
|
||||
(FailureSite)Enum.Parse(typeof(FailureSite), site));
|
||||
var baseType = result.GetType().BaseType;
|
||||
baseType.GetField("_resultState", flags).SetValue(result, resultState);
|
||||
baseType.GetField("_output", flags).SetValue(result, new StringBuilder(output));
|
||||
baseType.GetField("_duration", flags).SetValue(result, duration);
|
||||
baseType.GetField("_message", flags).SetValue(result, message);
|
||||
baseType.GetField("_stackTrace", flags).SetValue(result, stacktrace);
|
||||
baseType.GetProperty("StartTime", flags)
|
||||
.SetValue(result, DateTime.FromOADate(startTimeAO), null);
|
||||
baseType.GetProperty("EndTime", flags)
|
||||
.SetValue(result, DateTime.FromOADate(endTimeAO), null);
|
||||
}
|
||||
|
||||
public bool IsPassed()
|
||||
{
|
||||
return status == TestStatus.Passed.ToString();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue