class_docstr: Test the PsychoacousticMasker.
class_docstr_tok: ["Test","the","PsychoacousticMasker","."]
code: def test_calculate_global_threshold(self, art_warning, mocker):
      try:
          test_threshold = np.array([[0, 10, 20], [10, 0, 20]])
  
          mocker.patch(
              "art.attacks.evasion.imperceptible_asr.imperceptible_asr."
              "PsychoacousticMasker.absolute_threshold_hearing",
              new_callable=mocker.PropertyMock,
              return_value=np.zeros(test_threshold.shape[1]),
          )
  
          masker = PsychoacousticMasker()
          threshold = masker.calculate_global_threshold(test_threshold)
  
          assert (
              threshold.tolist()
              == (10 * np.log10([12, 12, 201])).tolist()
          )
      except ARTTestException as e:
          art_warning(e)
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  import numpy
  import pytest
  from art.attacks.attack import EvasionAttack
  from art.attacks.evasion.imperceptible_asr.imperceptible_asr import ImperceptibleASR, PsychoacousticMasker
  from tests.utils import ARTTestException
label_desc: Use image node_id 5 for calling the TestPsychoacousticMasker obj's underlying member method code with example usage: obj.test_calculate_global_threshold(art_warning, mocker) without return types