code: def test_error_on_different_shape(metric_class=SignalDistortionRatio):
      """Test that error is raised on different shapes of input."""
      metric = metric_class()
      with pytest.raises(
          RuntimeError,
          match="Predictions and targets are expected to have the same shape",
      ):
          metric(torch.randn(100), torch.randn(50))
  
imports: from functools import partial
  from typing import Callable
  import numpy
  import pytest
  import torch
  from mir_eval.separation import bss_eval_sources
  from scipy.io import wavfile
  from torch import Tensor
  from torchmetrics.audio import SignalDistortionRatio
  from torchmetrics.functional import signal_distortion_ratio
  from torchmetrics.utilities.imports import _TORCH_GREATER_EQUAL_1_11
  from unittests import _Input
  from unittests.audio import _SAMPLE_AUDIO_SPEECH, _SAMPLE_AUDIO_SPEECH_BAB_DB, _SAMPLE_NUMPY_ISSUE_895
  from unittests.helpers import seed_all
  from unittests.helpers.testers import MetricTester
label_desc: Use image node_id 3 for calling a global function with example usage: test_error_on_different_shape(metric_class) without return types