public void TestSinglyLinkedList()
 {
     SinglyLinkedList<int> singlyLinkedList = new SinglyLinkedList<int>();
     singlyLinkedList.AddAtEnd(5);
     singlyLinkedList.AddAtEnd(6);
     singlyLinkedList.AddAtEnd(7);
     singlyLinkedList.AddAtEnd(8);
     singlyLinkedList.AddAtStart(4);
     singlyLinkedList.AddAtStart(3);
     singlyLinkedList.AddAtStart(2);
     singlyLinkedList.AddAtStart(1);
     singlyLinkedList.Add(9, 10);
     singlyLinkedList.Add(11, 9, true);
     singlyLinkedList.Add(10, 11);
 }
        public static ISinglyLinkedList <T> CreateSinglyLinkedList <T>(IEnumerable <T> collection)
        {
            var linkedList = new SinglyLinkedList <T>();

            // add in linked list
            foreach (var item in collection)
            {
                var node = new SinglyNode <T>(item);
                linkedList.AddAtEnd(node);
            }

            return(linkedList);
        }