code: def testSaturation(self):
      impulse = [2, -2.3, 1.9999, -1.5, 1.2, 1.1]
      impulsePos = [0, 111, 5013, 20013, 11359, 44099]
      filename = "audiowritertest.wav"
      size = 44100
      signal = []
      expected = []
      for i in range(size):
          signal.append([0, 0])
          expected.append([0, 0])
  
      i = 0
      # For 32 bytes floats audio ranges from
      # -1.0 to 1.0 - 1.0 / 32767.0
      for pos in impulsePos:
          signal[pos][0] = impulse[i]
          signal[pos][1] = -impulse[i]
          if signal[pos][0] > 1:
              expected[pos][0] = 1 - 1.0 / 32767.0
              expected[pos][1] = -1
          else:
              expected[pos][0] = -1
              expected[pos][1] = 1 - 1.0 / 32767.0
          i += 1
  
      # write the audio file:
      gen = VectorInput(signal)
      writer = AudioWriter(filename=filename)
      gen.data >> writer.audio
      run(gen)
  
      # load the audio file and validate:
      loader = AudioLoader(filename=filename)
      pool = Pool()
  
      loader.audio >> (pool, "audio")
      loader.numberChannels >> None
      loader.sampleRate >> None
      loader.md5 >> None
      loader.bit_rate >> None
      loader.codec >> None
      run(loader)
      os.remove(filename)
      self.compare(pool["audio"], expected)
  
file_path: essentia/test/src/unittests/io/test_audiowriter_streaming.py
imports: from essentia_test import *
  from essentia.streaming import AudioWriter, AudioLoader
  from essentia.streaming import MonoMixer
  import os
label_desc: Use image node_id 4 for calling the TestAudioWriter_Streaming obj's underlying member method code with example usage: obj.testSaturation() without return types