2012-07-04 10:02:46 +00:00
|
|
|
|
|
|
|
|
|
|
|
from exrex import generate, count
|
|
|
|
|
|
|
|
|
|
|
|
RS = {'[ab][cd]': ['ac', 'ad', 'bc', 'bd']
|
|
|
|
,'[12]{1,2}': ['1', '2', '11', '12', '21', '22']
|
|
|
|
,'((hai){2}|world)!': ['haihai!', 'world!']
|
|
|
|
,'[ab]{1,3}': ['a', 'b', 'aa', 'ab', 'ba', 'bb', 'aaa', 'aab', 'aba', 'abb', 'baa', 'bab', 'bba', 'bbb']
|
|
|
|
,'\d': map(str, range(0, 10))
|
|
|
|
}
|
|
|
|
|
|
|
|
def gen_test():
|
|
|
|
for regex, result in RS.items():
|
|
|
|
assert list(generate(regex)) == result
|
|
|
|
|
|
|
|
def count_test():
|
|
|
|
for regex, result in RS.items():
|
|
|
|
if not count(regex) == len(result):
|
2012-07-04 12:00:16 +00:00
|
|
|
print('[LENERR] "%s" - %d:%d' % (regex, count(regex), len(result)))
|
2012-07-04 10:02:46 +00:00
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
gen_test()
|
2012-07-04 12:00:16 +00:00
|
|
|
print('[!] generation test passed')
|
2012-07-04 10:02:46 +00:00
|
|
|
count_test()
|