12345678910111213141516171819202122232425262728293031323334353637 |
- using NUnit.Framework.Interfaces;
- using NUnit.Framework.Internal;
- using NUnit.Framework.Internal.Commands;
- using System.Linq;
-
- namespace UnityEngine.TestTools
- {
- internal class ParametrizedIgnoreCommand : TestCommand
- {
- private readonly TestCommand m_Command;
-
- public object[] Arguments { get; }
- public string Reason { get; }
-
- public ParametrizedIgnoreCommand(TestCommand command, object[] arguments, string reason = "") : base(command.Test)
- {
- m_Command = command;
- Arguments = arguments;
- Reason = reason;
- }
-
- public override TestResult Execute(ITestExecutionContext context)
- {
- if (context.CurrentTest is TestMethod testMethod)
- {
- var isIgnored = testMethod.parms.Arguments.SequenceEqual(Arguments);
- if (isIgnored)
- {
- context.CurrentResult.SetResult(ResultState.Ignored, Reason);
- return context.CurrentResult;
- }
- }
-
- return m_Command.Execute(context);
- }
- }
- }
|