MSTest V2 Collection утверждать с игнорированием дела - PullRequest
0 голосов
/ 30 ноября 2018

Есть ли способ сделать утверждение на коллекции, используя MSTestV2 с игнорированием сравнения регистра?

Например, с помощью утверждений NUnit 3, я могу сделать это:

Assert.That(subset, Is.SubsetOf(superset).IgnoreCase, missingColumnsMessage);

1 Ответ

0 голосов
/ 30 ноября 2018

ОК, так что это возможное решение:

public static void IsSubset(this CollectionAssert assert, 
        ICollection<string> subset, ICollection<string> superset, 
        string message = null, IEqualityComparer<string> comparer = null)
    {
        var diff = subset.Except(superset, comparer ?? StringComparer.CurrentCulture).ToList();
        if (diff.Any())
        {
            var msg = message 
                      ?? $"These values are missing in the superset: {string.Join(", ", diff)}";
            throw new AssertFailedException(msg);
        }
    }

Использование:

CollectionAssert.That.IsSubset(subset, superset, "Failed!", 
            StringComparer.InvariantCultureIgnoreCase);
...