Exemple #1
0
            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 }));
            }
Exemple #2
0
            public void TestRemoveEdgeCase()
            {
                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(Enumerable.Range(0, 10));
                Assert.True(set.Remove(4));
                Assert.False(set.Remove(4));
            }
Exemple #3
0
        public void TestClear()
        {
            ImmutableTreeSet <int> .Builder set = ImmutableTreeSet.CreateBuilder <int>();

            set.Clear();
            Assert.Empty(set);

            set.UnionWith(Enumerable.Range(0, 10));
            Assert.NotEmpty(set);
            set.Clear();
            Assert.Empty(set);
        }
Exemple #4
0
            public void TestIntersectWithEdgeCase()
            {
                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));
                ImmutableTreeSet <int> .Builder other = ImmutableTreeSet.CreateBuilder(set.KeyComparer);

                set.UnionWith(Enumerable.Range(0, 10));
                other.UnionWith(new[] { 4, 3, 5 });
                set.IntersectWith(other);
                Assert.Equal(new[] { 3, 4, 5 }, set);
            }