code: def test_boxplot_item_base(fake_writer):
      x_axis = ["expr1", "expr2"]
      v1 = [
          [
              850,
              740,
              900,
              1070,
              930,
              850,
              950,
              980,
              980,
              880,
              1000,
              980,
          ],
          [960, 940, 960, 940, 880, 800, 850, 880, 900, 840, 830, 790],
      ]
      v2 = [
          [890, 810, 810, 820, 800, 770, 760, 740, 750, 760, 910, 920],
          [890, 840, 780, 810, 760, 810, 790, 810, 820, 850, 870, 870],
      ]
      c = Boxplot()
  
      series_a = [
          opts.BoxplotItem(name=x_axis[0], value=d)
          for d in c.prepare_data(v1)
      ]
      series_b = [
          opts.BoxplotItem(name=x_axis[1], value=d)
          for d in c.prepare_data(v2)
      ]
  
      c.add_xaxis(xaxis_data=x_axis).add_yaxis("A", series_a).add_yaxis(
          "B", series_b
      )
      c.render()
      _, content = fake_writer.call_args[0]
      assert_equal(c.theme, "white")
      assert_equal(c.renderer, "canvas")
  
imports: from unittest.mock import patch
  from nose.tools import assert_equal, assert_in
  from pyecharts import options
  from pyecharts.charts import Boxplot
label_desc: Use image node_id 4 for calling a global function with example usage: test_boxplot_item_base(fake_writer) without return types