def test_cpp_output_private_access_method_in_class_in_class_in_namespace(self): cpp_namespace = CppNamespace("test", self.cpp_file) cpp_class1 = CppClass("Test1", parent = cpp_namespace) cpp_class2 = CppClass("Test2", parent = cpp_class1) cpp_method = CppMethod("test1", ["int argument1"], "int", cpp_class2) cpp_class2.add_method(cpp_method, "private") cpp_class1.add_class(cpp_class2, "private") cpp_namespace.add_class(cpp_class1) self.cpp_file.add_namespace(cpp_namespace) self.assertEquals("\n\nnamespace test\n{\n\n// private\n\nint Test1::Test2::test1(int argument1)\n{\n\n}\n\n}\n\n", self.cpp_file.cpp())
def test_header_output_protected_access_class_in_class_in_namespace(self): cpp_namespace = CppNamespace("test", self.cpp_file) cpp_class1 = CppClass("Test1", parent=cpp_namespace) cpp_class2 = CppClass("Test2", parent=cpp_class1) cpp_class1.add_class(cpp_class2, "protected") cpp_namespace.add_class(cpp_class1) self.cpp_file.add_namespace(cpp_namespace) self.assertEquals( "\n\nnamespace test\n{\n\nclass Test1\n{\n\nprotected:\n\n class Test2\n {\n\n };\n\n};\n\n}\n\n", self.cpp_file.header(), )