def METHOD_NAME():
    """test the area of a polygon poly"""
    data = (
        ([(0, 0, 0), (1, 0, 0), (1, 1, 0), (0, 1, 0)], 1),
        # polygon, expected,
        ([(0, 0, 0), (1, 0, 0), (1, 0, 1), (0, 0, 1)], 1),
        ([(0, 0, 0), (0, 1, 0), (0, 1, 1), (0, 0, 1)], 1),
        ([(0, 0, 0), (0, 1, 0), (0, 2, 0), (0, 3, 0)], 0),
        (
            [
                (-4.611479, 6.729214, -0.332978),
                (-0.694944, 4.990984, 2.243709),
                (-2.147088, 0.302854, 1.288344),
                (-6.063622, 2.041084, -1.288344),
            ],
            25,
        ),
        (
            [(0, 0, 0), (0.5, 0, 0), (1, 0, 0), (1, 0, 1), (0, 0, 1)],
            1,
        ),  # 1st 3 points are linear
        (
            [(0, 0, 0), (0.5, 0, 0), (1, 0, 0), (2, 0, 0), (3, 0, 0)],
            0,
        ),  # all points are linear
    )
    for poly, expected in data:
        result = surface.area(poly)
        assert almostequal(expected, result, places=4) == True