code: def test_call_supports_same_signature_as_func_module(ford_2012):
      adx = abstract.Function("ADX")
  
      expected = func.ADX(
          ford_2012["open"], ford_2012["high"], ford_2012["low"]
      )
      output = adx(
          ford_2012["open"], ford_2012["high"], ford_2012["low"]
      )
      assert_array_equal(expected, output)
  
      expected_error = re.escape(
          "Too many price arguments: expected 3 (high, low, close)"
      )
  
      with pytest.raises(TypeError, match=expected_error):
          adx(
              ford_2012["open"],
              ford_2012["high"],
              ford_2012["low"],
              ford_2012["close"],
          )
  
      expected_error = re.escape(
          "Not enough price arguments: expected 3 (high, low, close)"
      )
  
      with pytest.raises(TypeError, match=expected_error):
          adx(ford_2012["open"], ford_2012["high"])
  
imports: import copy
  import re
  import threading
  import time
  import numpy
  import pytest
  from numpy.testing import assert_array_equal, assert_raises
  import talib
  from talib import abstract, func
label_desc: Use image node_id 13 for calling a global function with example usage: test_call_supports_same_signature_as_func_module(ford_2012) without return types