code: def test_chart_box(pl, chart_box, box_plot):
      size = (0.5, 0.5)
      loc = (0.25, 0.25)
      data = [[0, 1, 1, 1, 2, 2, 3, 4, 4, 5, 5, 5, 6]]
      stats = [
          np.quantile(d, [0.0, 0.25, 0.5, 0.75, 1.0]) for d in data
      ]
      cs = "wild_flower"
      ls = ["Datalabel"]
  
      # Test constructor
      chart = pv.ChartBox(data, cs, ls, size, loc)
      assert np.allclose(chart.plot.data, data)
      assert chart.plot.color_scheme == cs
      assert tuple(chart.plot.labels) == tuple(ls)
      assert chart.loc == loc
      assert chart.size == size
  
      # Test geometry and resizing
      pl.add_chart(chart)
      r_w, r_h = chart._renderer.GetSize()
      pl.show(auto_close=False)
      assert np.allclose(
          chart._geometry,
          (loc[0] * r_w, loc[1] * r_h, size[0] * r_w, size[1] * r_h),
      )
      pl.window_size = (
          int(pl.window_size[0] / 2),
          int(pl.window_size[1] / 2),
      )
      pl.show(auto_close=False)  # This will also call chart._resize
      assert np.allclose(
          chart._geometry,
          (
              loc[0] * r_w / 2,
              loc[1] * r_h / 2,
              size[0] * r_w / 2,
              size[1] * r_h / 2,
          ),
      )
  
      # Test remaining properties
      assert chart_box.plot.__this__ == chart_box.GetPlot(0).__this__
  
      box_plot.update(data)
      assert np.allclose(box_plot.data, data)
      assert np.allclose(box_plot.stats, stats)
  
imports: import itertools
  import platform
  import weakref
  import numpy
  import pytest
  from vtkmodules.vtkRenderingContext2D import vtkPen
  import pyvista
  from pyvista import examples
  from pyvista.plotting import charts
  from pyvista.plotting.colors import COLOR_SCHEMES
label_desc: Use image node_id 43 for calling a global function with example usage: test_chart_box(pl, chart_box, box_plot) without return types