class_docstr: These test cases exercise the interface to the proto plan
  generation but do not call Spark.
class_docstr_tok: ["These","test","cases","exercise","the","interface","to","the","proto","plan","generation","but","do","not","call","Spark","."]
code: def test_print(self):
      # SPARK-41717: test print
      self.assertEqual(
          self.connect.sql("SELECT 1")._plan.print().strip(),
          "<SQL query='SELECT 1', args='None'>",
      )
      self.assertEqual(
          self.connect.range(1, 10)._plan.print().strip(),
          "<Range start='1', end='10', step='1', num_partitions='None'>",
      )
  
imports: import unittest
  import uuid
  import datetime
  import decimal
  import math
  from pyspark.testing.connectutils import PlanOnlyTestFixture, should_test_connect, connect_requirement_message
  from pyspark.errors import PySparkValueError
label_desc: Use image node_id 39 for calling the SparkConnectPlanTests obj's underlying member method code with example usage: obj.test_print() without return types