code: def test_varnamelist():
      # Demonstrates usage of varnamelist
      varnamelist = ["length", "width", "height"]
      string = "length = height**2 - 3.5*width"
      # print("symbolic string:\n%s" % string.rstrip())
      string = replace_variables(string, varnamelist, "x")
      cf = generate_constraint(generate_solvers(string))
  
      @inner(cf)
      def wrappedfunc(x):
          return x[0]
  
      # XXX: implement: wrap_constraint( cf, lambda x: x[0], ctype='inner') ?
      # print("c = constraints wrapped around x[0]")
      x0 = [2.0, 2.0, 3.0]
      # print("c(%s): %s\n" % (x0, wrappedfunc(x0))) # Expected: 2.0
      assert almostEqual(wrappedfunc(x0), 2.0, tol=1e-15)
  
file_path: mystic/mystic/tests/test_symbolic_basic.py
imports: from numpy import asarray
  from mystic.constraints import issolution, as_constraint, solve
  from mystic.coupler import inner
  from mystic.symbolic import *
  from mystic.tools import random_seed
  from mystic.math import almostEqual
label_desc: Use image node_id 5 for calling a global function with example usage: test_varnamelist() and returns: x