Add a test for the generator contrib

This commit is contained in:
Vincent Le Goff 2017-07-22 11:36:38 +02:00 committed by Griatch
parent b74cc7a82f
commit 8c7acba151

View file

@ -985,3 +985,24 @@ class TestUnixCommand(CommandTest):
lines = ret.splitlines()
self.assertTrue(any(l.startswith("usage:") for l in lines))
self.assertTrue(any(l.startswith("dummy: error:") for l in lines))
from evennia.contrib import generator
SIMPLE_GENERATOR = generator.Generator("simple", "[01]{2}")
class TestGenerator(EvenniaTest):
def test_generate(self):
"""Generate and fail when exhausted."""
generated = []
for i in range(4):
generated.append(SIMPLE_GENERATOR.generate())
generated.sort()
self.assertEqual(generated, ["00", "01", "10", "11"])
# At this point, we have generated 4 strings.
# We can't generate one more
with self.assertRaises(generator.ExhaustedGenerator):
SIMPLE_GENERATOR.generate()