summaryrefslogtreecommitdiff
path: root/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/NUnitExtensions/Attributes/ConditionalIgnoreAttribute.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/NUnitExtensions/Attributes/ConditionalIgnoreAttribute.cs')
-rw-r--r--Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/NUnitExtensions/Attributes/ConditionalIgnoreAttribute.cs36
1 files changed, 36 insertions, 0 deletions
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/NUnitExtensions/Attributes/ConditionalIgnoreAttribute.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/NUnitExtensions/Attributes/ConditionalIgnoreAttribute.cs
new file mode 100644
index 0000000..3cf9714
--- /dev/null
+++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/NUnitExtensions/Attributes/ConditionalIgnoreAttribute.cs
@@ -0,0 +1,36 @@
+using System.Collections.Generic;
+using NUnit.Framework;
+using NUnit.Framework.Interfaces;
+using NUnit.Framework.Internal;
+
+namespace UnityEngine.TestTools
+{
+ public class ConditionalIgnoreAttribute : NUnitAttribute, IApplyToTest
+ {
+ string m_ConditionKey;
+ string m_IgnoreReason;
+
+ public ConditionalIgnoreAttribute(string conditionKey, string ignoreReason)
+ {
+ m_ConditionKey = conditionKey;
+ m_IgnoreReason = ignoreReason;
+ }
+
+ public void ApplyToTest(Test test)
+ {
+ var key = m_ConditionKey.ToLowerInvariant();
+ if (m_ConditionMap.ContainsKey(key) && m_ConditionMap[key])
+ {
+ test.RunState = RunState.Ignored;
+ string skipReason = string.Format(m_IgnoreReason);
+ test.Properties.Add(PropertyNames.SkipReason, skipReason);
+ }
+ }
+
+ static Dictionary<string, bool> m_ConditionMap = new Dictionary<string, bool>();
+ public static void AddConditionalIgnoreMapping(string key, bool value)
+ {
+ m_ConditionMap.Add(key.ToLowerInvariant(), value);
+ }
+ }
+} \ No newline at end of file