'Return a string communicating both the expected value and the tolerance
for the comparison being made, e.g. \'1.0 +- 1e-6\'.  Use the unicode
plus/minus symbol if this is python3 (it\'s too hard to get right for
python2).'

def __repr__(self):

    if isinstance(self.expected, complex):
        return str(self.expected)
    if math.isinf(self.expected):
        return str(self.expected)
    try:
        vetted_tolerance = '{:.1e}'.format(self.tolerance)
    except ValueError:
        vetted_tolerance = '???'
    if (sys.version_info[0] == 2):
        return '{0}    +-    {1}'.format(self.expected, vetted_tolerance)
    else:
        return u'{0}    \xb1    {1}'.format(self.expected, vetted_tolerance)
