AssertContainsOnly (result, set);
}
+ [Test]
+ public void TestIntersectWithComparer ()
+ {
+ var data = new[] {"a", "b", "C", "d", "E"};
+ var other = new[] {"a", "B", "e"};
+ var result = new[] {"a", "b", "E"};
+
+ var set = new HashSet<string> (data, StringComparer.OrdinalIgnoreCase);
+
+ set.IntersectWith (other);
+
+ AssertContainsOnly (result, set);
+ }
+
[Test]
public void TestExceptWith ()
{
Assert.IsFalse (set.IsSubsetOf (other3));
}
+ [Test]
+ public void TestSubsetOfComparer ()
+ {
+ var data = new[] { "abc", "DF", "gHIl" };
+
+ var other1 = new[] { "pqR", "ABC", "ghil", "dF", "lmn" };
+
+ var set = new HashSet<string> (data, StringComparer.OrdinalIgnoreCase);
+
+ Assert.IsTrue (set.IsSubsetOf (other1));
+ }
+
[Test]
public void TestProperSubsetOf ()
{
Assert.IsFalse (set.IsProperSubsetOf (other3));
}
+ [Test]
+ public void TestProperSubsetOfComparer ()
+ {
+ var data = new[] { "abc", "DF", "gHIl" };
+
+ var other1 = new[] { "pqR", "ABC", "ghil", "dF", "lmn" };
+
+ var set = new HashSet<string> (data, StringComparer.OrdinalIgnoreCase);
+
+ Assert.IsTrue (set.IsProperSubsetOf (other1));
+ }
+
[Test]
public void TestSupersetOf ()
{
Assert.IsFalse (set.IsSupersetOf (other3));
}
+ [Test]
+ public void TestSupersetOfComparer ()
+ {
+ var data = new[] {"a", "B", "c", "D"};
+
+ var other1 = new[] {"A", "a", "C", "c"};
+ var other2 = new[] {"A", "a", "B", "D", "C", "c"};
+
+ var set = new HashSet<string> (data, StringComparer.OrdinalIgnoreCase);
+
+ Assert.IsTrue (set.IsSupersetOf (other1));
+ Assert.IsTrue (set.IsSupersetOf (other2));
+ }
+
[Test]
public void TestProperSupersetOf ()
{
Assert.IsFalse (set.IsProperSupersetOf (other3));
}
+ [Test]
+ public void TestProperSupersetOfComparer ()
+ {
+ var data = new[] { "a", "B", "c", "D" };
+
+ var other1 = new[] { "A", "a", "d", "D" };
+ var other2 = new[] { "A", "a", "B", "D", "C", "c" };
+
+ var set = new HashSet<string> (data, StringComparer.OrdinalIgnoreCase);
+
+ Assert.IsTrue (set.IsProperSupersetOf (other1));
+ Assert.IsFalse (set.IsProperSupersetOf (other2));
+ }
+
[Test]
public void TestSetEquals ()
{
Assert.IsFalse (set.SetEquals (other5));
}
+ [Test]
+ public void TestSetEqualsComparer ()
+ {
+ var data = new[] { "abc", "DF", "gHIl" };
+
+ var other1 = new[] { "ABC", "DF", "GHIL" };
+ var other2 = new[] { "ABC", "aBc", "DF", "GHIL", "ghil" };
+
+ var set = new HashSet<string>(data, StringComparer.OrdinalIgnoreCase);
+
+ Assert.IsTrue (set.SetEquals (other1));
+ Assert.IsTrue (set.SetEquals (other2));
+ }
+
[Test]
public void TestCopyToFull ()
{