code: def test_setting_limits():
      lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  
      s = scale_x_continuous()
      s.train(lst)
      assert s.limits == (1, 10)
  
      s = scale_x_continuous(limits=(3, 7))
      s.train(lst)
      assert s.limits == (3, 7)
  
      s = scale_x_continuous(limits=(3, None))
      s.train(lst)
      assert s.limits == (3, 10)
  
      s = scale_x_continuous(limits=(None, 7))
      s.train(lst)
      assert s.limits == (1, 7)
  
      s = scale_color.scale_color_hue(limits=tuple("abcdefg"))
      s.train(["a", "b", "a"])
      assert s.limits == tuple("abcdefg")
  
imports: import warnings
  from datetime import datetime
  import numpy
  import numpy.testing
  import pandas
  import pytest
  import plotnine
  from plotnine import aes, annotate, element_text, expand_limits, facet_wrap, geom_bar, geom_col, geom_point, ggplot, lims, theme
  from plotnine.exceptions import PlotnineError, PlotnineWarning
  from plotnine.scales import scale_color, scale_color_manual, scale_identity, scale_manual, scale_xy
  from plotnine.scales.scale_alpha import scale_alpha_continuous, scale_alpha_discrete
  from plotnine.scales.scale_linetype import scale_linetype_continuous, scale_linetype_discrete
  from plotnine.scales.scale_manual import _scale_manual
  from plotnine.scales.scale_shape import scale_shape_continuous, scale_shape_discrete
  from plotnine.scales.scale_size import scale_size_area, scale_size_continuous, scale_size_discrete, scale_size_radius
  from plotnine.scales.scale_xy import scale_x_continuous, scale_x_discrete, scale_x_log10, scale_y_continuous
  from plotnine.scales.scales import make_scale
label_desc: Use image node_id 12 for calling a global function with example usage: test_setting_limits() without return types