code: def test_PythonRational__sub__():
      assert QQ(-1, 2) - QQ(1, 2) == QQ(-1)
      assert QQ(1, 2) - QQ(-1, 2) == QQ(1)
  
      assert QQ(1, 2) - QQ(1, 2) == QQ(0)
      assert QQ(1, 2) - QQ(3, 2) == QQ(-1)
      assert QQ(3, 2) - QQ(1, 2) == QQ(1)
      assert QQ(3, 2) - QQ(3, 2) == QQ(0)
  
      assert 1 - QQ(1, 2) == QQ(1, 2)
      assert QQ(1, 2) - 1 == QQ(-1, 2)
  
file_path: sympy/sympy/polys/tests/test_pythonrational.py
imports: from sympy.polys.domains import PythonRational
  from sympy.testing.pytest import raises
label_desc: Use image node_id 9 for calling a global function with example usage: test_PythonRational__sub__() without return types