def _format(self, s): # replace #s with digits def callback(matchobj): return '%s' % random.randrange(10) s = re.sub(r'#', callback, s) # replace {Name.foo} etc. s = call_fmt.format(s, **dict(self.__dict__, **self._methods)) return s
def test_A_BC_c(self): result = call_fmt.format('{A.BC.c}', **self.__dict__) self.assertEqual(result, 'ccc')
def test_A_b(self): result = call_fmt.format('{A.b}', **self.__dict__) self.assertEqual(result, 'bbb')
def test_f2(self): result = call_fmt.format('{f2.g1.h0}', **self.__dict__) self.assertEqual(result, 'hhh')
def test_f1(self): result = call_fmt.format('{f1.g0}', **self.__dict__) self.assertEqual(result, 'ggg')
def test_f0(self): result = call_fmt.format('{f0}', **self.__dict__) self.assertEqual(result, 'fff')