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