def assert_create_as(self, srccode, exp_expr=None, exp_params=None, exp_valid=True, exp_name='MACRO'): pyexpr = compile(exp_expr, '<string>', 'eval') if exp_expr else None assert MacroDef.create_from_srccode(srccode) \ == MacroDef(exp_name, pyexpr, exp_params, exp_valid)
class Container: macro = MacroDef.create_from_srccode('macro constant') constant = 9
class Container: macro = MacroDef.create_from_srccode('macro sub_macro(3)') def sub_macro(cls, param): return param + 2
class Container: macro = MacroDef.create_from_srccode('macro(a, b)')
class Container: int = MagicMock() macro = MacroDef.create_from_srccode('macro (int*)1 * 2')
class Container: enum = Mock() macro = MacroDef.create_from_srccode('macro (enum name)1')
class Container: union = Mock() macro = MacroDef.create_from_srccode('macro (union name *)1')
class Container: struct = Mock() macro = MacroDef.create_from_srccode('macro (struct name *)1')
class Container: strct_ptr = Mock() macro = MacroDef.create_from_srccode('macro strct_ptr->member')
def test_createFromSrcCode_onStringMacroWithEscapeSeq_mustNotGenerateAnyKindOfWarning( self): with warnings.catch_warnings(record=True) as warning_list: MacroDef.create_from_srccode(r'MACRO "\n"') assert not warning_list