public void NoHeadNode_ReturnsNull()
        {
            // Arrange
            var sut  = new Midpoint <string>();
            var list = new LinkedList <string>();

            // Act
            var actual = sut.Execute(list);

            // Assert
            Assert.IsNull(actual);
        }
        public void HeadNodeOnly_ReturnsHeadNode()
        {
            // Arrange
            var expectedNodeData = "A";
            var list             = new LinkedList <string>();

            list.InsertFirst(expectedNodeData);
            var sut = new Midpoint <string>();

            // Act
            var actual = sut.Execute(list);

            // Assert
            Assert.AreEqual(expectedNodeData, actual.Data);
        }
        public void OddNumberNodesList_ReturnsMiddleNode()
        {
            // Arrange
            var sut              = new Midpoint <string>();
            var list             = new LinkedList <string>();
            var expectedNodeData = "C";

            list.InsertFirst("A");
            list.InsertLast("B");
            list.InsertLast(expectedNodeData);
            list.InsertLast("D");
            list.InsertLast("E");

            // Act
            var actual = sut.Execute(list);

            // Assert
            Assert.AreEqual(expectedNodeData, actual.Data);
        }