code: def is_close_to(self, other, tolerance):
          
          self._validate_close_to_args(self.val, other, tolerance)
  
          if self.val < (other-tolerance) or self.val > (other+tolerance):
              if type(self.val) is datetime.datetime:
                  tolerance_seconds = tolerance.days * 86400 + tolerance.seconds + tolerance.microseconds / 1000000
                  h, rem = divmod(tolerance_seconds, 3600)
                  m, s = divmod(rem, 60)
                  self._err('Expected <%s> to be close to <%s> within tolerance <%d:%02d:%02d>, but was not.' % (self.val.strftime('%Y-%m-%d %H:%M:%S'), other.strftime('%Y-%m-%d %H:%M:%S'), h, m, s))
              else:
                  self._err('Expected <%s> to be close to <%s> within tolerance <%s>, but was not.' % (self.val, other, tolerance))
          return self
docs: Asserts that val is numeric and is close to other within tolerance.