<PackageReference Include="NUnit" Version="4.2.2" />

CultureDetector

public class CultureDetector
CultureDetector is a helper class used by NUnit to determine whether a test should be run based on the current culture.
using System; using System.Globalization; using System.Runtime.CompilerServices; namespace NUnit.Framework.Internal { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(0)] public class CultureDetector { private readonly CultureInfo _currentCulture; private string _reason = string.Empty; public string Reason => _reason; public CultureDetector() { _currentCulture = CultureInfo.CurrentCulture; } public CultureDetector(string culture) { _currentCulture = new CultureInfo(culture); } public bool IsCultureSupported(string[] cultures) { foreach (string culture in cultures) { if (IsCultureSupported(culture)) return true; } return false; } public bool IsCultureSupported(CultureAttribute cultureAttribute) { string include = cultureAttribute.Include; string exclude = cultureAttribute.Exclude; if (include != null && !IsCultureSupported(include)) { _reason = "Only supported under culture " + include; return false; } if (exclude != null && IsCultureSupported(exclude)) { _reason = "Not supported under culture " + exclude; return false; } return true; } public bool IsCultureSupported(string culture) { culture = culture.Trim(); if (culture.IndexOf(',') >= 0) { if (IsCultureSupported(culture.Split(',', StringSplitOptions.None))) return true; } else if (_currentCulture.Name == culture || _currentCulture.TwoLetterISOLanguageName == culture) { return true; } _reason = "Only supported under culture " + culture; return false; } } }