code: def test_box_summary(self):
      def check_box_summary(psdf, pdf):
          k = 1.5
          stats, fences = BoxPlotBase.compute_stats(
              psdf["a"], "a", whis=k, precision=0.01
          )
          outliers = BoxPlotBase.outliers(psdf["a"], "a", *fences)
          whiskers = BoxPlotBase.calc_whiskers("a", outliers)
          fliers = BoxPlotBase.get_fliers("a", outliers, whiskers[0])
  
          expected_mean = pdf["a"].mean()
          expected_median = pdf["a"].median()
          expected_q1 = np.percentile(pdf["a"], 25)
          expected_q3 = np.percentile(pdf["a"], 75)
          iqr = expected_q3 - expected_q1
          expected_fences = (
              expected_q1 - k * iqr,
              expected_q3 + k * iqr,
          )
          pdf["outlier"] = ~pdf["a"].between(fences[0], fences[1])
          expected_whiskers = (
              pdf.query("not outlier")["a"].min(),
              pdf.query("not outlier")["a"].max(),
          )
          expected_fliers = pdf.query("outlier")["a"].values
  
          self.assertEqual(expected_mean, stats["mean"])
          self.assertEqual(expected_median, stats["med"])
          self.assertEqual(expected_q1, stats["q1"] + 0.5)
          self.assertEqual(expected_q3, stats["q3"] - 0.5)
          self.assertEqual(expected_fences[0], fences[0] + 2.0)
          self.assertEqual(expected_fences[1], fences[1] - 2.0)
          self.assertEqual(expected_whiskers[0], whiskers[0])
          self.assertEqual(expected_whiskers[1], whiskers[1])
          self.assertEqual(expected_fliers, fliers)
  
      check_box_summary(self.psdf1, self.pdf1)
      check_box_summary(-self.psdf1, -self.pdf1)
  
file_path: spark/python/pyspark/pandas/tests/plot/test_series_plot.py
imports: import unittest
  import pandas
  import numpy
  from pyspark import pandas
  from pyspark.pandas.plot import PandasOnSparkPlotAccessor, BoxPlotBase
  from pyspark.testing.pandasutils import have_plotly, plotly_requirement_message
label_desc: Use image node_id 5 for calling the SeriesPlotTestsMixin obj's underlying member method code with example usage: obj.test_box_summary() without return types