code: def test_feat_extract_from_and_save_pretrained(self):
      feat_extract_first = self.feature_extraction_class(
          **self.feat_extract_dict
      )
  
      with tempfile.TemporaryDirectory() as tmpdirname:
          saved_file = feat_extract_first.save_pretrained(tmpdirname)[0]
          check_json_file_has_correct_format(saved_file)
          feat_extract_second = (
              self.feature_extraction_class.from_pretrained(tmpdirname)
          )
  
      dict_first = feat_extract_first.to_dict()
      dict_second = feat_extract_second.to_dict()
      mel_1 = feat_extract_first.mel_filters
      mel_2 = feat_extract_second.mel_filters
      self.assertTrue(np.allclose(mel_1, mel_2))
      self.assertEqual(dict_first, dict_second)
  
imports: import itertools
  import os
  import random
  import tempfile
  import unittest
  import numpy
  from datasets import load_dataset
  from transformers import WhisperFeatureExtractor
  from transformers.testing_utils import check_json_file_has_correct_format, require_torch
  from transformers.utils.import_utils import is_torch_available
  from ...test_sequence_feature_extraction_common import SequenceFeatureExtractionTestMixin
label_desc: Use image node_id 2 for calling the WhisperFeatureExtractionTest obj's underlying member method code with example usage: obj.test_feat_extract_from_and_save_pretrained() without return types