code: def test_insert_after_indices(self):
      # TODO merge with others
      self.assertRaises(TypeError, insert_after_indices, None, [1], [1])
      self.assertRaises(
          AssertionError, insert_after_indices, [1], TestClass, [1]
      )
      self.assertRaises(
          AssertionError, insert_after_indices, [1], [1], None
      )
      self.assertRaises(
          AssertionError, insert_after_indices, [1], [0], [1, 2]
      )
      self.assertRaises(
          AssertionError, insert_after_indices, [1], [(1, 2)], [1, 2]
      )
      self.assertRaises(IndexError, insert_after_indices, [1], [1], [1])
      self.assertRaises(
          AssertionError, insert_after_indices, [1, 2, 3], [1], []
      )
      self.assertRaises(
          AssertionError, insert_after_indices, [1, 2, 3], [], [1]
      )
      self.assertRaises(
          TypeError, insert_after_indices, [1, 2, 3], [1, []], [1, []]
      )
      self.assertRaises(
          TypeError, insert_after_indices, [1, 2, 3], [["123"]], [1]
      )
      self.assertRaises(
          TypeError, insert_after_indices, [1, 2], [[1]], [[0]]
      )
      self.assertRaises(
          ValueError, insert_after_indices, [1, 2], [-1], [[0]]
      )
      # Test collision
      self.assertRaises(
          ValueError, insert_after_indices, [0, 1, 2], [0, 0], [0, 1]
      )
      self.assertRaises(
          ValueError, insert_after_indices, [0, 1, 2], [2, 2], [1, 1]
      )
  
imports: import unittest
  from textflint.common.utils.list_op import *
label_desc: Use image node_id 8 for calling the TestListOpError obj's underlying member method code with example usage: obj.test_insert_after_indices() without return types