def METHOD_NAME(self):
    surface = surfaces.CylindricalSurface3D.load_from_file(
        "faces/objects_cylindrical_tests/surface_openned_one_contour.json")
    contour3d_0 = wires.Contour3D.load_from_file(
        "faces/objects_cylindrical_tests/contour3d__openned_one_contour_0.json")
    contour3d_1 = wires.Contour3D.load_from_file(
        "faces/objects_cylindrical_tests/contour3d__openned_one_contour_1.json")
    contours = [contour3d_0, contour3d_1]
    face = faces.CylindricalFace3D.from_contours3d(surface, contours)
    self.assertAlmostEqual(face.surface2d.area(), 0.4272566008882119, 6)
    self.assertTrue(face.surface2d.outer_contour.is_ordered())
    surface = surfaces.CylindricalSurface3D.load_from_file(
        "faces/objects_cylindrical_tests/cylindrical_surface_repair_contour2d.json")
    contour3d_0 = wires.Contour3D.load_from_file(
        "faces/objects_cylindrical_tests/cylindrical_contour_0_repair_contour2d.json")
    contour3d_1 = wires.Contour3D.load_from_file(
        "faces/objects_cylindrical_tests/cylindrical_contour_1_repair_contour2d.json")
    contours = [contour3d_0, contour3d_1]
    face = faces.CylindricalFace3D.from_contours3d(surface, contours)
    self.assertAlmostEqual(face.surface2d.area(), 0.024190263432641437, 4)
    self.assertTrue(face.surface2d.outer_contour.is_ordered())
    surface = DessiaObject.load_from_file(
        'faces/objects_cylindrical_tests/surface3d_1.json')
    contour0 = DessiaObject.load_from_file(
        'faces/objects_cylindrical_tests/contour_1_0.json')
    contour1 = DessiaObject.load_from_file(
        'faces/objects_cylindrical_tests/contour_1_1.json')
    face = faces.CylindricalFace3D.from_contours3d(surface, [contour0, contour1])
    self.assertEqual(face.surface2d.area(), 0.00077 * 2 * math.pi)
    frame = volmdlr.Frame3D(volmdlr.O3D, volmdlr.X3D, volmdlr.Y3D, volmdlr.Z3D)
    cylindrical = surfaces.CylindricalSurface3D(frame, 0.2)
    fullarc1 = edges.FullArc3D.from_center_normal(
        center=volmdlr.O3D, start_end=volmdlr.Point3D(0.2, 0.0, 0.0), normal=volmdlr.Z3D)
    fullarc2 = edges.FullArc3D.from_center_normal(
        center=volmdlr.O3D, start_end=volmdlr.Point3D(-0.2, 0.0, 0.2), normal=volmdlr.Z3D)
    contour1 = wires.Contour3D([fullarc1])
    contour2 = wires.Contour3D([fullarc2])
    face = faces.CylindricalFace3D.from_contours3d(cylindrical, [contour1, contour2])
    self.assertEqual(face.surface2d.area(), 0.2 * 2 * math.pi)
    surface = DessiaObject.load_from_file(
        'faces/objects_cylindrical_tests/cylindrical_surface_floating_point_error.json')
    contour0 = DessiaObject.load_from_file(
        'faces/objects_cylindrical_tests/cylindrical_contour_floating_point_error.json')
    face = faces.CylindricalFace3D.from_contours3d(surface, [contour0])
    self.assertTrue(face.surface2d.outer_contour.is_ordered())
    self.assertAlmostEqual(face.surface2d.area(), 0.003143137591511259, 3)