code: def test_SwapEnt(self):
      # test data with no entity
      swap_ins_oov = SwapEnt("OOV")
      data = NERCnSample(
          {
              "x": data_sample.get_tokens("text"),
              "y": ["O"] * len(data_sample.get_tokens("text")),
          }
      )
      change = swap_ins_oov.transform(data, n=5)
      self.assertEqual([], change)
  
      # test tolonger
      # not necessarily exist
  
      # test multientity
  
      # test oov
      change = swap_ins_oov.transform(data_sample, n=5)
      self.assertTrue(5 >= len(change))
      for item in change:
          trans_entities = item.find_entities_BMOES(
              item.text.tokens, item.tags
          )
          ori_entities = item.find_entities_BMOES(
              data_sample.text.tokens, data_sample.tags
          )
          for ori_ent, trans_ent in zip(ori_entities, trans_entities):
              if ori_ent["tag"] in [
                  "PER",
                  "LOC",
                  "ORG",
                  "GPE",
                  "NS",
                  "NR",
                  "NT",
              ]:
                  self.assertTrue(
                      trans_ent["entity"] != ori_ent["entity"]
                  )
  
imports: import unittest
  from textflint.input.component.sample.nercn_sample import NERCnSample
  from textflint.generation.transformation.NERCN.swap_ent import SwapEnt
label_desc: Use image node_id 3 for calling the TestSpecialSwapEnt obj's underlying member method code with example usage: obj.test_SwapEnt() without return types