code: def setUp(self):
      xs = [1, 2, 3]
      ys = [2, 0, 7]
      holes = [
          [
              [(1.5, 2), (2, 3), (1.6, 1.6)],
              [(2.1, 4.5), (2.5, 5), (2.3, 3.5)],
          ]
      ]
      self.single_poly = Polygons([{"x": xs, "y": ys, "holes": holes}])
  
      xs = [1, 2, 3, np.nan, 6, 7, 3]
      ys = [2, 0, 7, np.nan, 7, 5, 2]
      holes = [
          [
              [(1.5, 2), (2, 3), (1.6, 1.6)],
              [(2.1, 4.5), (2.5, 5), (2.3, 3.5)],
          ],
          [],
      ]
      self.multi_poly = Polygons([{"x": xs, "y": ys, "holes": holes}])
      self.multi_poly_no_hole = Polygons([{"x": xs, "y": ys}])
  
      self.distinct_polys = Polygons(
          [
              {"x": xs, "y": ys, "holes": holes, "value": 0},
              {"x": [4, 6, 6], "y": [0, 2, 1], "value": 1},
          ],
          vdims="value",
      )
  
imports: import numpy
  from holoviews import Box, Dataset, Ellipse, Path, Polygons
  from holoviews.core.data.interface import DataError
  from holoviews.element.comparison import ComparisonTestCase
label_desc: Use image node_id 1 for calling the PolygonsTests obj's underlying member method code with example usage: obj.setUp() without return types