def test_insert_front_full_list(self): mylist = LinkedList() mylist.add(2) mylist.add(3) mylist.add(4) mylist.insert(0, 1) assert mylist.toList() == [1, 4, 3, 2] assert mylist.size() == 4
def test_insert_back_full_list(self): mylist = LinkedList() mylist.add(2) mylist.add(3) mylist.add(4) mylist.add(5) mylist.insert(-3, 1) assert mylist.toList() == [5, 1, 4, 3, 2] assert mylist.size() == 5
def test_insert_middle_full_list(self): mylist = LinkedList() mylist.add(1) mylist.add(2) mylist.add(3) mylist.add(4) mylist.insert(2, 17) mylist.reverse() mylist.reverse() assert mylist.toList() == [4, 3, 17, 2, 1] assert mylist.size() == 5
def test_index_high(self): mylist = LinkedList() mylist.add(2) mylist.insert(100, 1) assert mylist.toList() == [2, 1] assert mylist.size() == 2
def test_index_low(self): mylist = LinkedList() mylist.add(2) mylist.insert(-100, 1) assert mylist.toList() == [1, 2] assert mylist.size() == 2
def test_non_integer_index(self): with pytest.raises(TypeError): mylist = LinkedList() mylist.insert(2.2, 1)
def test_missing_arg(self): with pytest.raises(ValueError): mylist = LinkedList() mylist.insert(1)
def test_insert_back_one(self): mylist = LinkedList() mylist.add(2) mylist.insert(-1, 1) assert mylist.toList() == [1, 2] assert mylist.size() == 2
def test_insert_back_empty(self): mylist = LinkedList() mylist.insert(-1, 1) assert mylist.toList() == [1] assert mylist.size() == 1
def test_insert_front_empty(self): mylist = LinkedList() mylist.insert(0, 1) assert mylist.toList() == [1] assert mylist.size() == 1