class_docstr: Test the correctness of optional parameters of `sox_io_backend.save`
class_docstr_tok: ["Test","the","correctness","of","optional","parameters","of","`","sox_io_backend.save","`"]
docstr: save function should not alter Tensor
docstr_tok: ["save","function","should","not","alter","Tensor"]
code: def test_save_tensor_preserve(self, dtype):
      """save function should not alter Tensor"""
      path = self.get_temp_path("data.wav")
      expected = get_wav_data(dtype, 4, normalize=False)[::2, ::2]
  
      data = expected.clone()
      sox_io_backend.save(path, data, 8000)
  
      self.assertEqual(data, expected)
  
imports: import os
  import torch
  from parameterized import parameterized
  from torchaudio.backend import sox_io_backend
  from torchaudio_unittest.common_utils import get_wav_data, load_wav, nested_params, PytorchTestCase, save_wav, skipIfNoExec, skipIfNoSox, skipIfNoSoxEncoder, sox_utils, TempDirMixin, TorchaudioTestCase
  from .common import get_enc_params, name_func
label_desc: Use image node_id 3 for calling the TestSaveParams obj's underlying member method code with example usage: obj.test_save_tensor_preserve(dtype) without return types