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