コード例 #1
0
ファイル: test_generator.py プロジェクト: ozkriff/misery
    def test_bad_expr_type_error(self):
        class BadExprClass(object):
            def __init__(self):
                self.binded_var_name = 'xxx'

        input_ast = ast.Module(decl_list=[
            ast.FuncDecl(
                name='start',
                signature=ast.FuncSignature(),
                body=[
                    ast.VarDecl(
                        name='testVar',
                        expr=BadExprClass(),
                        datatype=datatype.SimpleDataType('Int'),
                    ),
                ],
            )
        ])
        input_ast.ident_list = \
            ident_table.ident_table(input_ast)
        generator_ = generator.Generator(input_ast)
        self.assertRaisesRegexp(
            Exception,
            'Bad expr type:.*BadExprClass',
            generator_.generate,
        )
コード例 #2
0
ファイル: test_generator.py プロジェクト: ozkriff/misery
 def test_generate_full(self):
     ''' Just generate something '''
     input_ast = ast.Module()
     marked_out_ast = datatype.mark_out_datatypes(input_ast)
     generator_ = generator.Generator(marked_out_ast)
     real_output = generator_.generate_full()
     self.assertNotEqual('', real_output)
コード例 #3
0
ファイル: test_generator.py プロジェクト: ozkriff/misery
def check_translation(test_case, input_ast, expected_output):
    ''' Small helper func. '''
    input_ast.ident_list = ident_table.ident_table(input_ast)
    input_ast = datatype.mark_out_datatypes(ast_=input_ast)
    generator_ = generator.Generator(input_ast)
    real_output = generator_.generate()
    misc.assert_equal(test_case, textwrap.dedent(expected_output), real_output)
コード例 #4
0
ファイル: test_generator.py プロジェクト: ozkriff/misery
    def test_bad_decl_type_error(self):
        class BadDeclClass(object):
            def __init__(self):
                pass

        input_ast = ast.Module(decl_list=[
            BadDeclClass(),
        ], )
        input_ast.ident_list = \
            ident_table.ident_table(input_ast)
        generator_ = generator.Generator(input_ast)
        self.assertRaisesRegexp(
            Exception,
            'Bad type:.*BadDeclClass',
            generator_.generate,
        )
コード例 #5
0
ファイル: test_generator.py プロジェクト: ozkriff/misery
    def test_bad_constant_type_error(self):
        class BadConstantClass(object):
            def __init__(self):
                pass

        input_ast = ast.Module(decl_list=[
            ast.FuncDecl(
                name='start',
                signature=ast.FuncSignature(),
            )
        ])
        constants = input_ast.decl_list[0].constants  # shortcut
        constants['badConst'] = BadConstantClass()
        input_ast.ident_list = {}
        generator_ = generator.Generator(input_ast)
        self.assertRaisesRegexp(
            Exception,
            'Bad type:.*BadConstantClass',
            generator_.generate,
        )
コード例 #6
0
ファイル: test_generator.py プロジェクト: ozkriff/misery
    def test_bad_stmt_type_error(self):
        class BadStmtClass(object):
            def __init__(self):
                pass

        input_ast = ast.Module(decl_list=[
            ast.FuncDecl(
                name='start',
                signature=ast.FuncSignature(),
                body=[
                    BadStmtClass(),
                ],
            )
        ])
        input_ast.ident_list = \
            ident_table.ident_table(input_ast)
        generator_ = generator.Generator(input_ast)
        self.assertRaisesRegexp(
            Exception,
            'Bad stmt type:.*BadStmtClass',
            generator_.generate,
        )