Example #1
0
        public void Constructor_Test()
        {
            var set = new IndexedSortedSet <int>();

            Assert.Empty(set);

            set.Add(2);
            set.Add(1);
            set.Add(3);
            Assert.Equal(new[] { 1, 2, 3 }, set);
        }
Example #2
0
        public void Add_Test()
        {
            var set = new IndexedSortedSet <int>();

            Assert.True(set.Add(3));
            Assert.True(set.Add(1));
            Assert.True(set.Add(2));
            Assert.Equal(new[] { 1, 2, 3 }, set);

            Assert.False(set.Add(1));
            Assert.Equal(new[] { 1, 2, 3 }, set);
        }
Example #3
0
        public void Constructor_WithComparerTest()
        {
            // 逆順にソートする Comparer
            var comparer = Comparer <int> .Create((x, y) => - x.CompareTo(y));

            var set = new IndexedSortedSet <int>(comparer);

            Assert.Empty(set);

            set.Add(2);
            set.Add(1);
            set.Add(3);
            Assert.Equal(new[] { 3, 2, 1 }, set);
        }
Example #4
0
        public void Count_Test()
        {
            var set = new IndexedSortedSet <int>();

            Assert.Empty(set);

            set.Add(1);
            Assert.Single(set);
        }
Example #5
0
        public void Count_Test()
        {
            var set = new IndexedSortedSet <int>();

            Assert.Equal(0, set.Count);

            set.Add(1);
            Assert.Equal(1, set.Count);
        }
Example #6
0
        public void IndexedSortedSet_Test()
        {
            var set = new IndexedSortedSet <int>();

            set.Add(100);
            set.Add(20);
            set.Add(600);

            Assert.Equal(3, set.Count);
            Assert.Equal(20, set[0]);
            Assert.Equal(100, set[1]);
            Assert.Equal(600, set[2]);

            set.Remove(100);
            set.Add(5);

            Assert.Equal(3, set.Count);
            Assert.Equal(5, set[0]);
            Assert.Equal(20, set[1]);
            Assert.Equal(600, set[2]);
        }