>>> from xeger import Xeger
>>> Xeger(limit=1).xeger("a{2}")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/local/ANT/jodukes/.local/lib/python2.7/site-packages/xeger/xeger.py", line 82, in xeger
result = self._build_string(parsed)
File "/home/local/ANT/jodukes/.local/lib/python2.7/site-packages/xeger/xeger.py", line 89, in _build_string
newstr.append(self._handle_state(state))
File "/home/local/ANT/jodukes/.local/lib/python2.7/site-packages/xeger/xeger.py", line 94, in _handle_state
return self._cases[str(opcode).lower()](value)
File "/home/local/ANT/jodukes/.local/lib/python2.7/site-packages/xeger/xeger.py", line 71, in <lambda>
'max_repeat': lambda x: self._handle_repeat(*x),
File "/home/local/ANT/jodukes/.local/lib/python2.7/site-packages/xeger/xeger.py", line 113, in _handle_repeat
times = randint(start_range, end_range)
File "/usr/lib/python2.7/random.py", line 242, in randint
return self.randrange(a, b+1)
File "/usr/lib/python2.7/random.py", line 218, in randrange
raise ValueError, "empty range for randrange() (%d,%d, %d)" % (istart, istop, width)
ValueError: empty range for randrange() (2,2, 0)
Expected behaviour:
I expect to see a specific warning that lets me know why the input was bad. For example, one could add assert start_range < end_range, "Character limit exceeded during repeat" before randint in Xeger._handle_repeat
Steps to reproduce:
Expected behaviour:
I expect to see a specific warning that lets me know why the input was bad. For example, one could add
assert start_range < end_range, "Character limit exceeded during repeat"
beforerandint
inXeger._handle_repeat