Esempio n. 1
0
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))
Esempio n. 2
0
 def setUp(self):
     self.pb = PhraseBank()
     pass