class test_graph(unittest.TestCase):
    def setUp(self):
        self.tens = SinglyLinkedList(range(0, 100, 10))
        self.blankList = SinglyLinkedList()

    def test_length_method(self):
        self.assertEqual(len(self.tens), 10)
        self.assertEqual(len(self.blankList), 0)

    def test_add_method(self):
        self.blankList.append(50)
        self.tens.append(110)
        self.assertEqual(len(self.blankList), 1)
        self.assertEqual(len(self.tens), 11)
 def test_append(self):
     list1 = SinglyLinkedList(1)
     list2 = list1.append(2)
     list3 = list1.append(3)
     list4 = list3.append(3).append(4).append(5)
     self.assertEqual(list1, [1])
     self.assertEqual(list2, [1, 2])
     self.assertEqual(list3, [1, 3])
     self.assertEqual(list4, [1, 3, 3, 4, 5])
    def test_appendanotherlist(self):
        list1 = SinglyLinkedList(1).append(2).append(3)
        list2 = SinglyLinkedList(4).append(5).append(6)
        list1 = list1.append(list2)

        i = 0

        for l in list1:
            if i == 0:
                self.assertEqual(l, 1)
            if i == 3:
                self.assertEqual(l, [4, 5, 6])
            i += 1

        self.assertEqual(list1, [1, 2, 3, [4, 5, 6]])
    def test_iterationdepth(self):
        mylist = SinglyLinkedList(1).append(SinglyLinkedList(2))
        third = SinglyLinkedList(3).append(SinglyLinkedList(4))
        second = mylist.append(third)

        self.assertEqual(second, [1, [2], [3, [4]]])