Пример #1
0
        public void RemoveLinkedListTestCase1()
        {
            var list   = CommonHelpers.GetLinkedListFromArray(new[] { 1, 2, 6, 3, 4, 5, 6 });
            var output = RemoveLinkedListElements.RemoveElements(list, 6).ValuesToFlatList();

            output.SequenceEqual(new[] { 1, 2, 3, 4, 5 }).Should().BeTrue();
        }
        public void RemoveElements_MiddleConsequitive_ReturnExpected()
        {
            var helper = new RemoveLinkedListElements();
            //1->2->6->3->4->5->6, val = 6

            var head = new ListNode(1)
            {
                next = new ListNode(2)
                {
                    next = new ListNode(2)
                    {
                        next = new ListNode(1)
                    }
                }
            };

            var expected = new ListNode(1)
            {
                next = new ListNode(1)
            };

            var result = helper.RemoveElements(head, 2);

            Assert.That(result, Is.EqualTo(expected));
        }
Пример #3
0
        public void TestMethod1(int[] head, int val, int[] expected)
        {
            // Arrange
            RemoveLinkedListElements question = new RemoveLinkedListElements();
            ListNode headNode = null;

            if (head != null && head.Length > 0)
            {
                headNode = new ListNode(head[0]);
                ListNode node = headNode;

                for (int i = 1; i < head.Length; i++)
                {
                    node.next = new ListNode(head[i]);
                    node      = node.next;
                }
            }

            // Act
            ListNode   actual     = question.RemoveElements(headNode, val);
            List <int> actualList = null;

            if (actual != null)
            {
                actualList = new List <int>();
                while (actual != null)
                {
                    actualList.Add(actual.val);
                    actual = actual.next;
                }
            }

            // Assert
            CollectionAssert.AreEqual(expected, actualList?.ToArray());
        }
Пример #4
0
        public void RemoveElementsTests()
        {
            RemoveLinkedListElements obj = new RemoveLinkedListElements();

            ////        Input: 1->2->6->3->4->5->6, val = 6
            ////Output: 1->2->3->4->5
            var input = new ListNode(1)
            {
                next = new ListNode(2)
                {
                    next = new ListNode(6)
                    {
                        next = new ListNode(3)
                        {
                            next = new ListNode(4)
                            {
                                next = new ListNode(5)
                                {
                                    next = new ListNode(6)
                                }
                            }
                        }
                    }
                }
            };

            var x = obj.RemoveElements(input, 6);
        }
Пример #5
0
        public void RemoveLinkedListTestCase3()
        {
            var list = CommonHelpers.GetLinkedListFromArray(new[] { 1, 2, 2, 1 });

            RemoveLinkedListElements.RemoveElements(list, 2).ValuesToFlatList().Should().BeEquivalentTo(new List <int>
            {
                1, 1
            });
        }
        public void RemoveElements_WhenMiddleAndEnd_ReturnExpected()
        {
            var helper = new RemoveLinkedListElements();
            //1->2->6->3->4->5->6, val = 6

            var head = new ListNode(1)
            {
                next = new ListNode(2)
                {
                    next = new ListNode(6)
                    {
                        next = new ListNode(3)
                        {
                            next = new ListNode(4)
                            {
                                next = new ListNode(5)
                                {
                                    next = new ListNode(6)
                                }
                            }
                        }
                    }
                }
            };

            var expected = new ListNode(1)
            {
                next = new ListNode(2)
                {
                    next = new ListNode(3)
                    {
                        next = new ListNode(4)
                        {
                            next = new ListNode(5)
                        }
                    }
                }
            };

            var result = helper.RemoveElements(head, 6);

            Assert.That(result, Is.EqualTo(expected));
        }