code: def test_swap_at_index(self):
      self.assertRaises(TypeError, swap_at_index, None, 1, 0)
      self.assertRaises(TypeError, swap_at_index, [1, 2], TestClass, 0)
      self.assertRaises(TypeError, swap_at_index, [1, 2], 1, [0])
      self.assertRaises(ValueError, swap_at_index, [1], 0, 0)
      self.assertRaises(ValueError, swap_at_index, [1], 0, 1)
      self.assertRaises(ValueError, swap_at_index, [1, 2, 3], 0, 3)
      self.assertRaises(ValueError, swap_at_index, [1, 2, 3], 0, -1)
  
imports: import unittest
  from textflint.common.utils.list_op import *
label_desc: Use image node_id 10 for calling the TestListOpError obj's underlying member method code with example usage: obj.test_swap_at_index() without return types