code: def test_number_discretization_points():
      # verify that the different ways to set the number of discretization
      # points are consistent with each other.
      if not np:
          skip("numpy not installed.")
  
      x, y, z = symbols("x:z")
  
      for pt in [
          LineOver1DRangeSeries,
          Parametric2DLineSeries,
          Parametric3DLineSeries,
      ]:
          kw1 = _set_discretization_points({"n": 10}, pt)
          kw2 = _set_discretization_points({"n": [10, 20, 30]}, pt)
          kw3 = _set_discretization_points({"n1": 10}, pt)
          assert all(
              ("n1" in kw) and kw["n1"] == 10 for kw in [kw1, kw2, kw3]
          )
  
      for pt in [
          SurfaceOver2DRangeSeries,
          ContourSeries,
          ParametricSurfaceSeries,
          ImplicitSeries,
      ]:
          kw1 = _set_discretization_points({"n": 10}, pt)
          kw2 = _set_discretization_points({"n": [10, 20, 30]}, pt)
          kw3 = _set_discretization_points({"n1": 10, "n2": 20}, pt)
          assert kw1["n1"] == kw1["n2"] == 10
          assert all(
              (kw["n1"] == 10) and (kw["n2"] == 20) for kw in [kw2, kw3]
          )
  
      # verify that line-related series can deal with large float number of
      # discretization points
      LineOver1DRangeSeries(
          cos(x), (x, -5, 5), adaptive=False, n=1e04
      ).get_data()
  
imports: from sympy import latex, exp, symbols, I, pi, sin, cos, tan, log, sqrt, re, im, arg, frac, Sum, S, Abs, lambdify, Function, dsolve, Eq, floor, Tuple
  from sympy.external import import_module
  from sympy.plotting.series import LineOver1DRangeSeries, Parametric2DLineSeries, Parametric3DLineSeries, SurfaceOver2DRangeSeries, ContourSeries, ParametricSurfaceSeries, ImplicitSeries, _set_discretization_points, List2DSeries
  from sympy.testing.pytest import raises, warns, XFAIL, skip, ignore_warnings
label_desc: Use image node_id 3 for calling a global function with example usage: test_number_discretization_points() without return types