Есть ли способ указать ожидаемые целочисленные результаты в строке документа в шестнадцатеричной записи?
def identity(val):
"""
>>> identity(243)
243
>>> identity(243)
0xf3
"""
return val
if __name__ == "__main__":
import doctest
doctest.testmod()
Doctest не интерпретирует шестнадцатеричное представление, что приводит к ошибке:
**********************************************************************
File "hextest.py", line 5, in __main__.identity
Failed example:
identity(243)
Expected:
0xf3
Got:
243
**********************************************************************
1 items had failures:
1 of 2 in __main__.identity
***Test Failed*** 1 failures.
Я знаю, что могу бороться с строкой документов:
def identity(val):
"""
>>> hex(identity(243))
'0xf3'
"""
return val
Но было бы естественно, чтобы doctest понимал буквенные целые числа в базах 8, 16рядом с десятичной дробью.