public void IsProperSupersetOf()
        {
            var builder = ImmutableSegmentedHashSet.CreateRange(Enumerable.Range(1, 3)).ToBuilder();

            Assert.Throws <ArgumentNullException>("other", () => builder.IsProperSupersetOf(null !));
            Assert.False(builder.IsProperSupersetOf(Enumerable.Range(1, 3)));
            Assert.True(builder.IsProperSupersetOf(Enumerable.Range(1, 2)));
        }
        public void Overlaps()
        {
            var builder = ImmutableSegmentedHashSet.CreateRange(Enumerable.Range(1, 3)).ToBuilder();

            Assert.Throws <ArgumentNullException>("other", () => builder.Overlaps(null !));
            Assert.True(builder.Overlaps(Enumerable.Range(3, 2)));
            Assert.False(builder.Overlaps(Enumerable.Range(4, 3)));
        }
Esempio n. 3
0
        public void Create()
        {
            var comparer = StringComparer.OrdinalIgnoreCase;

            var set = ImmutableSegmentedHashSet.Create <string?>();

            Assert.Equal(0, set.Count);
            Assert.Same(EqualityComparer <string> .Default, set.KeyComparer);

            set = ImmutableSegmentedHashSet.Create <string?>(comparer);
            Assert.Equal(0, set.Count);
            Assert.Same(comparer, set.KeyComparer);

            set = ImmutableSegmentedHashSet.Create <string?>("a");
            Assert.Equal(1, set.Count);
            Assert.Same(EqualityComparer <string> .Default, set.KeyComparer);

            set = ImmutableSegmentedHashSet.Create <string?>(comparer, "a");
            Assert.Equal(1, set.Count);
            Assert.Same(comparer, set.KeyComparer);

            set = ImmutableSegmentedHashSet.Create <string?>("a", "b");
            Assert.Equal(2, set.Count);
            Assert.Same(EqualityComparer <string> .Default, set.KeyComparer);

            set = ImmutableSegmentedHashSet.Create <string?>(comparer, "a", "b");
            Assert.Equal(2, set.Count);
            Assert.Same(comparer, set.KeyComparer);

            set = ImmutableSegmentedHashSet.CreateRange <string?>((IEnumerable <string>) new[] { "a", "b" });
            Assert.Equal(2, set.Count);
            Assert.Same(EqualityComparer <string> .Default, set.KeyComparer);

            set = ImmutableSegmentedHashSet.CreateRange <string?>(comparer, (IEnumerable <string>) new[] { "a", "b" });
            Assert.Equal(2, set.Count);
            Assert.Same(comparer, set.KeyComparer);

            set = ImmutableSegmentedHashSet.Create((string?)null);
            Assert.Equal(1, set.Count);

            set = ImmutableSegmentedHashSet.CreateRange(new[] { null, "a", null, "b" });
            Assert.Equal(3, set.Count);
        }