def int_to_little_endian_bytes(integer):
    """Converts a two-bytes integer into a pair of one-byte integers using
    the little-endian notation (i.e. the less significant byte first).

    The `integer` input must be a 2 bytes integer, i.e. `integer` must be
    greater or equal to 0 and less or equal to 65535 (0xffff in hexadecimal
    notation).

    For instance, with the input decimal value ``integer=700`` (0x02bc in
    hexadecimal notation) this function will return the tuple ``(0xbc, 0x02)``.

    :param int integer: the 2 bytes integer to be converted. It must be in
        range (0, 0xffff).
    """

    # Check argument type to make exception messages more explicit
    if not isinstance(integer, int):
        msg = "An integer in range(0x00, 0xffff) is required (got {})."
        raise TypeError(msg.format(type(integer)))

    # Check the argument value
    if not (0 <= integer <= 0xffff):
        msg = "An integer in range(0x00, 0xffff) is required (got {})."
        raise ValueError(msg.format(integer))

    hex_string = '%04x' % integer
    hex_tuple = (int(hex_string[2:4], 16), int(hex_string[0:2], 16))

    return hex_tuple