code: def test_cartesian():
      np.random.seed(1)
      a = [1, 2, 3]
      b = [0, 2]
      c = [5, 6]
      manual_cartesian = np.array(
          [
              [1, 0, 5],
              [1, 0, 6],
              [1, 2, 5],
              [1, 2, 6],
              [2, 0, 5],
              [2, 0, 6],
              [2, 2, 5],
              [2, 2, 6],
              [3, 0, 5],
              [3, 0, 6],
              [3, 2, 5],
              [3, 2, 6],
          ]
      )
      auto_cart = cartesian(a, b, c)
      np.testing.assert_array_equal(manual_cartesian, auto_cart)
  
imports: import warnings
  import numpy
  import numpy.testing
  import pytensor
  import pytensor.tensor
  import pytest
  from pymc.math import LogDet, cartesian, expand_packed_triangular, invprobit, kron_dot, kron_solve_lower, kronecker, log1mexp, log1mexp_numpy, logdet, logdiffexp, logdiffexp_numpy, probit
  from pymc.pytensorf import floatX
  from tests.helpers import verify_grad
label_desc: Use image node_id 2 for calling a global function with example usage: test_cartesian() without return types