class_docstr: TestCase for analyzers execution
  
  TestCase that applies the method to several networks and
  runs the analyzer with random data.
  
  :param method: A function that returns an Analyzer class.
code: def _apply_test(self, model: Model) -> None:
      # Generate random test input
      input_shape = model.input_shape[1:]
      x = np.random.rand(1, *input_shape).astype(np.float32)
      # Call model with test input
      model.predict(x)
      # Call analyzer
      analyzer = self._method(model)
      analysis = analyzer.analyze(x)
  
      assert tuple(analysis.shape) == (1,) + input_shape
      assert not np.any(np.isinf(analysis.ravel()))
      assert not np.any(np.isnan(analysis.ravel()))
  
imports: from __future__ import annotations
  from typing import Callable
  import numpy
  import tensorflow
  import tensorflow.keras.backend
  from innvestigate.analyzer import Random
  from innvestigate.analyzer.base import AnalyzerBase
  from innvestigate.backend.types import Model
  from tests import networks
label_desc: Use image node_id 2 for calling the AnalyzerTestCase obj's underlying member method code with example usage: obj._apply_test(model) without return types