def METHOD_NAME(shape):
    """Return True if the shape is a parallelepiped (cuboid).
    A parallelepiped of cube-like shape has 8 vertices, 6 faces, 12 edges,
    and all angles are 90 degrees between its edges.
    """
    # first we try fast methods
    if (len(shape.Vertexes) != 8
            or len(shape.Faces) != 6
            or len(shape.Edges) != 12):
        return False
    for e in shape.Edges:
        if geomType(e) != "Line":
            return False
    # if ok until now, let's do more advanced testing
    for f in shape.Faces:
        if len(f.Edges) != 4:
            return False
        for i in range(4):
            e1 = vec(f.Edges[i])
            if i < 3:
                e2 = vec(f.Edges[i+1])
            else:
                e2 = vec(f.Edges[0])
            rpi = [0.0, round(math.pi/2, precision())]
            if round(e1.getAngle(e2), precision()) not in rpi:
                return False
    return True