code: def test_linesep_text(self):
      df = self.spark.read.text(
          "python/test_support/sql/ages_newlines.csv", lineSep=","
      )
      expected = [
          Row(value="Joe"),
          Row(value="20"),
          Row(value='"Hi'),
          Row(value='\nI am Jeo"\nTom'),
          Row(value="30"),
          Row(value='"My name is Tom"\nHyukjin'),
          Row(value="25"),
          Row(value='"I am Hyukjin\n\nI love Spark!"\n'),
      ]
      self.assertEqual(df.collect(), expected)
  
      tpath = tempfile.mkdtemp()
      shutil.rmtree(tpath)
      try:
          df.write.text(tpath, lineSep="!")
          expected = [
              Row(value='Joe!20!"Hi!'),
              Row(value='I am Jeo"'),
              Row(value='Tom!30!"My name is Tom"'),
              Row(value='Hyukjin!25!"I am Hyukjin'),
              Row(value=""),
              Row(value='I love Spark!"'),
              Row(value="!"),
          ]
          readback = self.spark.read.text(tpath)
          self.assertEqual(readback.collect(), expected)
      finally:
          shutil.rmtree(tpath)
  
imports: import shutil
  import tempfile
  import uuid
  import os
  from pyspark.sql import Row
  from pyspark.sql.types import IntegerType, StructField, StructType, LongType, StringType
  from pyspark.testing.sqlutils import ReusedSQLTestCase
label_desc: Use image node_id 1 for calling the DataSourcesTestsMixin obj's underlying member method code with example usage: obj.test_linesep_text() without return types