code: def test_batch_delete(self):
      index_store = IndexStore()
      self.assertEqual(index_store.getidx("a"), 0)
      self.assertEqual(index_store.getidx("b"), 1)
      self.assertEqual(index_store.getidx("c"), 2)
      self.assertEqual(index_store.getidx("d"), 3)
      with self.assertRaises(KeyError):
          new_idx_store = index_store.batch_delete_vals(["e", "c"])
      new_idx_store = index_store.batch_delete_vals(["b", "c"])
      self.assertEqual(new_idx_store.getidx("a"), 0)
      self.assertEqual(new_idx_store.getidx("c"), 2)
      self.assertEqual(new_idx_store.getidx("e"), 3)
      self.assertEqual(index_store.getidx("d"), 3)
      self.assertEqual(index_store.getidx("c"), 2)
      self.assertEqual(index_store.getidx("b"), 1)
      self.assertEqual(index_store.getidx("a"), 0)
      with self.assertRaises(ValueError):
          new_idx_store = index_store.batch_delete_idx([5, 1])
      new_idx_store = index_store.batch_delete_idx([2, 1])
      self.assertEqual(new_idx_store.getidx("a"), 0)
      self.assertEqual(new_idx_store.getidx("c"), 2)
      self.assertEqual(new_idx_store.getidx("e"), 3)
  
file_path: scattertext/scattertext/test/test_indexStore.py
imports: from unittest import TestCase
  from scattertext.indexstore.IndexStore import IndexStore
label_desc: Use image node_id 3 for calling the TestIndexStore obj's underlying member method code with example usage: obj.test_batch_delete() without return types