Mercurial > openrpg
changeset 519:e80ca31361e7
Ensure the old roller is passing all tests it used to
author | digitalxero |
---|---|
date | Mon, 15 Mar 2010 19:24:35 -0600 |
parents | 4a9b26a1cd4b |
children | d011d222b4fc |
files | orpg/tests/test_dieroller.py |
diffstat | 1 files changed, 30 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/orpg/tests/test_dieroller.py Mon Mar 15 18:54:09 2010 -0600 +++ b/orpg/tests/test_dieroller.py Mon Mar 15 19:24:35 2010 -0600 @@ -24,20 +24,43 @@ max_roll=6) for x in xrange(100)], [dict(roll='4d6.takeHighest(3).minroll(3)', min_roll=3, num_results=3, max_roll=6) for x in xrange(100)]], + 'test_old_roll': [ + [dict(roll='1d20', min_roll=1, max_roll=20) for x in xrange(100)], + [dict(roll='1d20.minroll(5)', min_roll=5, + max_roll=20) for x in xrange(100)], + [dict(roll='4d6.each(5)', min_roll=1, max_roll=6, + num_results=4, extra=5) for x in xrange(100)], + [dict(roll='4d6.takeHighest(3)', min_roll=1, num_results=3, + max_roll=6) for x in xrange(100)], + [dict(roll='(1+2+1)d6.takeHighest(3)', min_roll=1, num_results=3, + max_roll=6) for x in xrange(100)], + [dict(roll='4d6.takeHighest(3).minroll(3)', min_roll=3, + num_results=3, max_roll=6) for x in xrange(100)]], } def test_roll(self, roll, min_roll, max_roll, num_results=1, extra=None): from orpg.dieroller import roller_manager r = roller_manager.process_roll(roll) - r = r.split('-->') - print r - r = r[1].split('=') - print r - r = r[1][1:].strip() - print r + r = r.split('-->')[1].split('=')[1][1:].strip() results = eval(r) assert isinstance(results, list) assert len(results) == num_results for r in results: - assert r >= min_roll and r <= max_roll \ No newline at end of file + assert r >= min_roll and r <= max_roll + + def test_old_roll(self, roll, min_roll, max_roll, num_results=1, extra=None): + from orpg.dieroller import roller_manager + roller_manager.roller = 'old_std' + r = roller_manager.process_roll(roll) + r = r[3].split('=')[0].strip() + results = eval(r) + + assert isinstance(results, list) + assert len(results) == num_results + for r in results: + if extra is not None: + assert r[0] >= min_roll and r[0] <= max_roll + assert r[1] == extra + else: + assert r >= min_roll and r <= max_roll \ No newline at end of file