MCPcopy Create free account
hub / github.com/FSoft-AI4Code/CodeText-parser / Test_CppParser_with_C

Class Test_CppParser_with_C

tests/test_parser/test_c.py:9–72  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7
8
9class Test_CppParser_with_C(unittest.TestCase):
10 def setUp(self) -> None:
11 with open('tests/test_parser/test_sample/c_test_sample.c', 'r') as file:
12 self.code_sample = file.read()
13
14 tree = parse_code(self.code_sample, 'c')
15 self.root_node = tree.root_node
16
17 return super().setUp()
18
19 def test_get_function_list(self):
20 root = self.root_node
21
22 function_list = CppParser.get_function_list(root)
23
24 self.assertEqual(len(function_list), 2)
25
26 def test_get_function_metadata(self):
27 root = self.root_node
28
29 function = CppParser.get_function_list(root)[0]
30 metadata = CppParser.get_function_metadata(function)
31
32 for key in ['identifier', 'parameters', 'return_type']:
33 self.assertTrue(key in metadata.keys())
34 self.assertEqual(metadata['parameters'], {'random_seed': 'int'})
35 self.assertEqual(metadata['identifier'], 'reverseSentence')
36 self.assertEqual(metadata['return_type'], 'void')
37
38 def test_get_class_list(self):
39 pass
40
41 def test_get_class_metadata(self):
42 pass
43
44 def test_get_docstring(self):
45 code_sample = """
46 /**
47 * A brief description. A more elaborate class description
48 * @param random_seed somearg.
49 * @see Test()
50 * @return The test results
51 */
52 void reverseSentence(int random_seed) {
53 char c;
54 scanf("%c", &c);
55 if (c != '\n') {
56 reverseSentence();
57 printf("%c", c);
58 }
59 }
60 """
61 tree = parse_code(code_sample, 'c')
62 root = tree.root_node
63
64 fn= CppParser.get_function_list(root)[0]
65
66 docs = CppParser.get_docstring(fn)

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected