def METHOD_NAME(self):
    # one point resulting in Point
    data = np.array([[1, 1]])
    res = compute_concave_polygon(data)
    self.assertIsInstance(res, Point)
    np.testing.assert_array_equal([res.x, res.y], data[0])
    # two (and collinear) resulting in LineString
    data = np.array([[1, 1], [2, 2]])
    res = compute_concave_polygon(data)
    self.assertIsInstance(res, LineString)
    np.testing.assert_array_equal(res.coords.xy, [[1, 2], [1, 2]])
    # collinear points resulting in LineString
    data = np.array([[1, 1], [2, 2], [3, 3]])
    res = compute_concave_polygon(data)
    self.assertIsInstance(res, LineString)
    np.testing.assert_array_equal(res.coords.xy, [[1, 3], [1, 3]])
    # collinear points resulting in LineString
    data = np.array([[1, 1], [2, 2], [3, 3], [1, 1]])
    res = compute_concave_polygon(data)
    self.assertIsInstance(res, LineString)
    np.testing.assert_array_equal(res.coords.xy, [[1, 3], [1, 3]])
    # triangle with point in the middle
    data = np.array([[1, 1], [1, 2], [2, 2], [1.2, 1.7]])
    res = compute_concave_polygon(data)
    self.assertIsInstance(res, Polygon)
    np.testing.assert_array_equal(
        polygon_to_array(res), [[1, 2], [2, 2], [1.2, 1.7], [1, 1], [1, 2]]
    )
    data = np.array([[1, 1], [1, 2], [2, 2], [8, 8]])
    res = compute_concave_polygon(data)
    self.assertIsInstance(res, Polygon)
    np.testing.assert_array_equal(
        polygon_to_array(res), [[2, 2], [1, 1], [1, 2], [8, 8], [2, 2]]
    )