def _validate_isvalid_t_range(self, isvalid_t_range, field, values):
if all([isinstance(v, (float, int)) for v in values]):<EOL><INDENT>T_low = Q_(values[<NUM_LIT:0>], '<STR_LIT>')<EOL>T_mid = Q_(values[<NUM_LIT:1>], '<STR_LIT>')<EOL>T_hi = Q_(values[<NUM_LIT:2>], '<STR_LIT>')<EOL><DEDENT>elif all([isinstance(v, str) for v in values]):<EOL><INDENT>T_low = Q_(values[<NUM_LIT:0>])<EOL>T_mid = Q_(values[<NUM_LIT:1>])<EOL>T_hi = Q_(values[<NUM_LIT:2>])<EOL><DEDENT>else:<EOL><INDENT>self._error(field, '<STR_LIT>'<EOL>'<STR_LIT>')<EOL>return False<EOL><DEDENT>if min([T_low, T_mid, T_hi]) != T_low:<EOL><INDENT>self._error(field, '<STR_LIT>')<EOL><DEDENT>if max([T_low, T_mid, T_hi]) != T_hi:<EOL><INDENT>self._error(field, '<STR_LIT>')<EOL><DEDENT>
Checks that the temperature ranges given for thermo data are valid
        Args:
            isvalid_t_range (`bool`): flag from schema indicating T range is to be checked
            field (`str`): T_range
            values (`list`): List of temperature values indicating low, middle, and high ranges

        The rule's arguments are validated against this schema:
            {'isvalid_t_range': {'type': 'bool'}, 'field': {'type': 'str'},
             'value': {'type': 'list'}}