class PhraseBankTest(unittest.TestCase): def setUp(self): self.pb = PhraseBank() pass def testGenerateSingleValuePhrase(self): fn_name = 'char' # first generate a function with only one value src = self.pb._generate_mako({fn_name: ['a']}) print src t = Template(src).get_def(fn_name) out = "".join(map(lambda n:t.render(), range(0,10))) self.assertEquals("aaaaaaaaaa", out) def testGenerateMultiValuePhrase(self): # now generate a function with multiple possible values. fn_name = 'char' fn_values = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] src = self.pb._generate_mako({fn_name: fn_values}) print src t = Template(src).get_def(fn_name) out = map(lambda n:t.render(), range(0,100)) print "".join(out) for c in fn_values: self.assertTrue(c in out) def testGeneratePhraseWithArgs(self): fn_name = 'char' # first generate a function with only one value src = self.pb._generate_mako({fn_name + "(arg)": ['a']}) print src t = Template(src).get_def(fn_name) out = "".join(map(lambda n:t.render(n), range(0,10))) self.assertEquals("aaaaaaaaaa", out) def testDict(self): fn = 'char' self.assertFalse(self.pb.has_key(fn)) self.pb[fn] = 'a' self.assertTrue(self.pb.has_key(fn))
def setUp(self): self.pb = PhraseBank() pass