public void MyLinkedList_3_RemoveFirst_1_ThrowsExceptionOnEmptyList()
        {
            // Arrange
            IMyLinkedList <string> lst = DSBuilder.CreateMyLinkedList();

            // Act & Assert
            Assert.Throws(typeof(MyLinkedListEmptyException), () => lst.RemoveFirst());
        }
        public void MyLinkedList_5_Insert_15_GetLastOkAfterInsertInMiddleOnList3()
        {
            // Arrange
            IMyLinkedList <string> lst = DSBuilder.CreateMyLinkedList();

            lst.AddFirst("1");
            lst.AddFirst("2");
            lst.AddFirst("3");
            string expected = "1";

            // Act
            lst.Insert(1, "4");
            lst.RemoveFirst();
            lst.RemoveFirst();
            lst.RemoveFirst();
            string actual = lst.GetFirst();

            // Assert
            Assert.AreEqual(expected, actual);
        }
        public void MyLinkedList_3_RemoveFirst_4_ThrowsExceptionOnGetFirstAdter1Insert()
        {
            // Arrange
            IMyLinkedList <string> lst = DSBuilder.CreateMyLinkedList();

            lst.AddFirst("1");

            // Act
            lst.RemoveFirst();

            // Act & Assert
            Assert.Throws(typeof(MyLinkedListEmptyException), () => lst.GetFirst());
        }
        public void MyLinkedList_3_RemoveFirst_2_SizeEquals0After1Insert()
        {
            // Arrange
            IMyLinkedList <string> lst = DSBuilder.CreateMyLinkedList();

            lst.AddFirst("1");
            int expected = 0;

            // Act
            lst.RemoveFirst();
            int actual = lst.Size();

            // Assert
            Assert.AreEqual(expected, actual);
        }
        public void MyLinkedList_3_RemoveFirst_5_GetFirstOkAfter3Inserts()
        {
            // Arrange
            IMyLinkedList <string> lst = DSBuilder.CreateMyLinkedList();

            lst.AddFirst("1");
            lst.AddFirst("2");
            lst.AddFirst("3");
            string expected = "2";

            // Act
            lst.RemoveFirst();
            string actual = lst.GetFirst();

            // Assert
            Assert.AreEqual(expected, actual);
        }
        public void MyLinkedList_6_ToString_4_VariousOperations2()
        {
            // Arrange
            IMyLinkedList <string> lst = DSBuilder.CreateMyLinkedList();

            lst.AddFirst("1");
            lst.AddFirst("2");
            lst.Insert(1, "4");
            lst.RemoveFirst();

            string expected = "[4,1]";

            // Act
            string actual = lst.ToString();

            // Assert
            Assert.AreEqual(expected, actual);
        }