예제 #1
0
        public static void Main()
        {
            OrderedSet <int> orderedSet = new OrderedSet <int>();

            orderedSet.Add(2);
            orderedSet.Add(-1);
            orderedSet.Add(5);
            orderedSet.Add(0);
            orderedSet.Add(555);
            orderedSet.Add(7);

            Console.WriteLine("Overall number of elements in the Ordered Set are: " + orderedSet.Count);
            Console.WriteLine("The elements of the Ordered Set are as follows:");
            orderedSet.PrintInOrder();

            Console.WriteLine("Does the Ordered Set countain node with value 7? " + orderedSet.Contains(7));
            Console.WriteLine("Is the value 2 removed from the Ordered Set? " + orderedSet.Remove(2));
            Console.WriteLine("Overall number of elements in the Ordered Set are: " + orderedSet.Count);
            Console.WriteLine("The elements of the Ordered Set are as follows:");

            foreach (var input in orderedSet)
            {
                Console.WriteLine(input);
            }
        }
예제 #2
0
        public void Count_Empty_Add_Remove_ShouldWorkCorrectly()
        {
            // Arrange
            var orderedSet = new OrderedSet <int>();

            // Assert
            Assert.AreEqual(0, orderedSet.Count);

            // Act & Assert
            orderedSet.Add(555);
            orderedSet.Add(-555);
            orderedSet.Add(555);
            Assert.AreEqual(2, orderedSet.Count);

            // Act & Assert
            bool removed = orderedSet.Remove(-555);

            Assert.AreEqual(1, orderedSet.Count);
            Assert.IsTrue(removed);

            // Act & Assert
            removed = orderedSet.Remove(-555);
            Assert.AreEqual(1, orderedSet.Count);
            Assert.IsFalse(removed);

            // Act & Assert
            removed = orderedSet.Remove(555);
            Assert.AreEqual(0, orderedSet.Count);
            Assert.IsTrue(removed);
        }
예제 #3
0
        public void Clear_ShouldWorkCorrectly()
        {
            // Arrange
            var orderedSet = new OrderedSet <int>();

            // Assert
            Assert.AreEqual(0, orderedSet.Count);

            // Act
            orderedSet.Clear();

            // Assert
            Assert.AreEqual(0, orderedSet.Count);

            // Arrange
            orderedSet.Add(5);
            orderedSet.Add(7);
            orderedSet.Add(3);

            // Assert
            Assert.AreEqual(3, orderedSet.Count);

            // Act
            orderedSet.Clear();

            // Assert
            Assert.AreEqual(0, orderedSet.Count);
        }
예제 #4
0
        public void Remove_5000_Elements_ShouldWorkCorrectly()
        {
            // Arrange
            var orderedSet = new OrderedSet <int>();
            var listInt    = new List <int>();
            var count      = 5000;

            for (int i = 0; i < count; i++)
            {
                listInt.Add(i);
                orderedSet.Add(i);
            }

            // Assert
            Assert.AreEqual(count, orderedSet.Count);

            // Act & Assert
            foreach (var i in listInt)
            {
                orderedSet.Remove(i);
                count--;
                Assert.AreEqual(count, orderedSet.Count);
            }

            // Assert
            var expectedElements = new List <int>();
            var actualElements   = orderedSet.ToList();

            CollectionAssert.AreEquivalent(expectedElements, actualElements);
        }
예제 #5
0
        public void Contains_ExistingElement_ShouldReturnTrue()
        {
            // Arrange
            var orderedSet = new OrderedSet <int>();

            orderedSet.Add(1);

            // Act
            var contains = orderedSet.Contains(1);

            // Assert
            Assert.IsTrue(contains);
        }
예제 #6
0
        public static void Main()
        {
            var set = new OrderedSet <int>();

            set.Add(1);
            set.Add(2);
            set.Add(3);
            set.Add(-1);
            set.Add(10);

            set.Remove(1);

            foreach (var item in set)
            {
                Console.WriteLine(item);
            }
        }
예제 #7
0
        public void Remove_NonExistingElement_ShouldWorkCorrectly()
        {
            // Arrange
            var orderedSet = new OrderedSet <int>();

            orderedSet.Add(12);
            orderedSet.Add(99);

            // Assert
            Assert.AreEqual(2, orderedSet.Count);

            // Act
            var removed = orderedSet.Remove(21);

            // Assert
            Assert.IsFalse(removed);
            Assert.AreEqual(2, orderedSet.Count);
        }
예제 #8
0
        static void Main(string[] args)
        {
            OrderedSet <int> set = new OrderedSet <int>();

            for (int i = 1000; i >= 1; i--)
            {
                set.Add(i);
            }

            for (int i = 250; i <= 750; i++)
            {
                set.Remove(i);
            }

            foreach (var item in set)
            {
                Console.WriteLine(item);
            }
        }
예제 #9
0
        public void Add_1000_Elements_Grow_ShouldWorkCorrectly()
        {
            // Arrange
            var orderedSet = new OrderedSet <int>();

            // Act
            var expectedElements = new List <int>();

            for (int i = 0; i < 1000; i++)
            {
                orderedSet.Add(i);
                expectedElements.Add(i);
            }

            // Assert
            var actualElements = orderedSet.ToList();

            Assert.AreEqual(expectedElements.Count, actualElements.Count);
        }
예제 #10
0
        public void Add_EmptyOrderedSet_NoDuplicates_ShouldAddElement()
        {
            // Arrange
            var orderedSet = new OrderedSet <int>();

            // Act
            var elements = new List <int> {
                -5, 16, 0, 555
            };

            foreach (var element in elements)
            {
                orderedSet.Add(element);
            }
            elements.Sort();
            // Assert
            var actualElements = orderedSet.ToList();

            CollectionAssert.AreEquivalent(elements, actualElements);
        }