public void TestSetEqualsEdgeCase() { EqualityComparer <int> equalityComparer = EqualityComparer <int> .Default; Func <int, int> getHashCode = value => Math.Abs(value) < 5 ? 0 : 1; ImmutableTreeSet <int> .Builder set = ImmutableTreeSet.CreateBuilder(new SubsetHashCodeEqualityComparer <int>(equalityComparer, getHashCode)); set.UnionWith(new[] { 1, 3, 7, 9 }); Assert.False(set.SetEquals(new[] { 1, 4, 7, 9 })); }