def test_add_template_function(): parser = Parser("test.hpp") parser.init_ast() parser.add_template_function("myFun", "void") assert_equal(len(parser.ast.nodes), 1) parser.add_template_type("T") assert_equal(len(parser.ast.nodes[0].template_types), 1)
def test_distributed_struct(): parser = Parser("test.hpp") parser.init_ast() parser.add_struct_decl("") assert_is_not_none(parser.unnamed_struct) parser.add_typedef("struct mystruct", "mystruct") assert_is_none(parser.unnamed_struct) assert_equal(len(parser.ast.nodes), 1)
def test_add_class_with_field_ctor_and_method(): parser = Parser("test.hpp") parser.init_ast() parser.add_class("MyClass") assert_equal(len(parser.ast.nodes), 1) parser.add_ctor() assert_equal(len(parser.ast.nodes[0].nodes), 1) parser.add_param("a", "int") assert_equal(len(parser.ast.nodes[0].nodes[0].nodes), 1) parser.add_method("myMethod", "int") assert_equal(len(parser.ast.nodes[0].nodes), 2) parser.add_field("b", "bool") assert_equal(len(parser.ast.nodes[0].nodes), 3)
def test_add_template_class(): parser = Parser("test.hpp") parser.init_ast() parser.add_template_class("MyTemplateClass") assert_equal(len(parser.ast.nodes), 1) parser.add_template_type("T") assert_equal(len(parser.ast.nodes[0].template_types), 1) parser.add_ctor() assert_equal(len(parser.ast.nodes[0].nodes), 1) parser.add_param("a", "T") assert_equal(len(parser.ast.nodes[0].nodes[0].nodes), 1) parser.add_method("myMethod", "int") assert_equal(len(parser.ast.nodes[0].nodes), 2) parser.add_field("b", "bool") assert_equal(len(parser.ast.nodes[0].nodes), 3)
def test_add_argument_without_method(): parser = Parser("test.hpp") parser.init_ast() assert_warns_message(UserWarning, "Ignored function parameter", parser.add_param, "a", "void")
def test_add_function(): parser = Parser("test.hpp") parser.init_ast() parser.add_function("myFun", "void", "") assert_equal(len(parser.ast.nodes), 1)
def test_struct(): parser = Parser("test.hpp") parser.init_ast() parser.add_struct_decl("MyStruct") assert_equal(len(parser.ast.nodes), 1)
def test_add_typedef(): parser = Parser("test.hpp") parser.init_ast() parser.add_typedef("double", "tdef") assert_equal(len(parser.ast.nodes), 1)