def parse_boundary(text):
    """Parse a string which represents the boundary of a value.

    :param str text: the input string.

    :return tuple: (lower boundary, upper boundary).

    Examples:

    parse_boundary("1, 2") == (1, 2)
    """
    msg = "Input lower and upper boundaries separated by comma."
    try:
        if "," not in text:
            raise ValueError(msg)

        # float('Inf') = inf
        ret = [float(x) for x in text.split(",")]

        if len(ret) != 2:
            raise ValueError(msg)

        if ret[0] >= ret[1]:
            raise ValueError("lower boundary >= upper boundary")

    except Exception as e:
        raise ValueError(str(e))

    return ret[0], ret[1]