UnityGame/Library/PackageCache/com.unity.test-framework/UnityEngine.TestRunner/TestRunner/PlaymodeTestsControllerSettings.cs
2024-10-27 10:53:47 +03:00

57 lines
1.8 KiB
C#

using System;
using System.Linq;
using NUnit.Framework.Interfaces;
using NUnit.Framework.Internal.Filters;
using UnityEngine.SceneManagement;
using UnityEngine.TestRunner.NUnitExtensions.Runner;
using UnityEngine.TestTools.TestRunner.GUI;
namespace UnityEngine.TestTools.TestRunner
{
[Serializable]
internal class PlaymodeTestsControllerSettings
{
[SerializeField]
public RuntimeTestRunnerFilter[] filters;
public bool sceneBased;
public string originalScene;
public string bootstrapScene;
public string[] orderedTestNames;
public FeatureFlags featureFlags;
[SerializeField]
public int retryCount;
[SerializeField]
public int repeatCount;
[SerializeField]
public bool automated;
[SerializeField]
public int randomOrderSeed;
public static PlaymodeTestsControllerSettings CreateRunnerSettings(RuntimeTestRunnerFilter[] filters, string[] orderedTestNames, int randomSeed, FeatureFlags featureFlags, int retryCount, int repeatCount, bool automated)
{
var settings = new PlaymodeTestsControllerSettings
{
filters = filters,
sceneBased = false,
originalScene = SceneManager.GetActiveScene().path,
bootstrapScene = null,
orderedTestNames = orderedTestNames,
randomOrderSeed = randomSeed,
featureFlags = featureFlags,
retryCount = retryCount,
repeatCount = repeatCount,
automated = automated
};
return settings;
}
internal ITestFilter BuildNUnitFilter()
{
return new OrFilter(filters.Select(f => f.BuildNUnitFilter()).ToArray());
}
}
}