code: def test_transformation(self):
      trans = swap_ins.transform(data_sample)
      self.assertEqual(1, len(trans))
      trans = trans[0]
      self.assertEqual(
          "we are playing ping pang ball, you're so lazy. "
          "She is so beautiful!",
          trans.get_text("x"),
      )
      self.assertEqual(trans.get_value("y"), data_sample.get_value("y"))
  
      special_sample = SASample({"x": "", "y": "negative"})
      self.assertEqual([], swap_ins.transform(special_sample))
      special_sample = SASample(
          {"x": "~!@#$%^7890\"'", "y": "negative"}
      )
      self.assertEqual([], swap_ins.transform(special_sample))
  
imports: import unittest
  from textflint.input.component.sample import SASample
  from textflint.generation.transformation.UT.contraction import Contraction
label_desc: Use image node_id 3 for calling the TestContraction obj's underlying member method code with example usage: obj.test_transformation() without return types