Files
coverlet/test/coverlet.tests.xunit.extensions/Extensions.cs
T
Marco Rossignoli 8ddbb6ff3c Bump sdk version, update tests (#771)
Bump sdk version, update tests
2020-03-21 17:23:56 +01:00

33 lines
1.0 KiB
C#

using System.Linq;
using Xunit.Abstractions;
using Xunit.Sdk;
namespace Coverlet.Tests.Xunit.Extensions
{
internal static class TestMethodExtensions
{
public static string EvaluateSkipConditions(this ITestMethod testMethod)
{
var testClass = testMethod.TestClass.Class;
var assembly = testMethod.TestClass.TestCollection.TestAssembly.Assembly;
var conditionAttributes = testMethod.Method
.GetCustomAttributes(typeof(ITestCondition))
.Concat(testClass.GetCustomAttributes(typeof(ITestCondition)))
.Concat(assembly.GetCustomAttributes(typeof(ITestCondition)))
.OfType<ReflectionAttributeInfo>()
.Select(attributeInfo => attributeInfo.Attribute);
foreach (ITestCondition condition in conditionAttributes)
{
if (!condition.IsMet)
{
return condition.SkipReason;
}
}
return null;
}
}
}