Castle: The best Real-Time/Embedded/HighTech language EVER. Attempt 2
Revision | c51a7a805905f3a9db7f73639668f85e092db2e9 (tree) |
---|---|
Zeit | 2023-02-07 06:31:23 |
Autor | Albert Mietus < albert AT mietus DOT nl > |
Commiter | Albert Mietus < albert AT mietus DOT nl > |
(asis) added all test for ComponentInterface
@@ -82,7 +82,7 @@ | ||
82 | 82 | retval.append(f'{prepend}{indent}.ports = {{') |
83 | 83 | start_port_no = self.no_of_ports(inherited=True, mine=False) # pragma: no mutate on inherited/mine |
84 | 84 | for no,port in enumerate(self.ports, start_port_no): # Loop over 'own' ports |
85 | - retval.append(f'{prepend}{(indent*3)[:-2]}{{') | |
85 | + retval.append(f'{prepend}{indent*2}{{') | |
86 | 86 | retval.append(f'{prepend}{indent*3}.portNo = {no},') |
87 | 87 | retval.append(f'{prepend}{indent*3}.protocol = {port.portray_typePtr()},') |
88 | 88 | retval.append(f'{prepend}{indent*3}.direction = {port.direction.portray_name()},') |
@@ -55,7 +55,7 @@ | ||
55 | 55 | .direction = CC_B_PortDirectionIs_UNKNOWN, |
56 | 56 | .name = "jap2", |
57 | 57 | .part_of = &cc_CI_demo2Comp }, |
58 | - }, | |
58 | + }, | |
59 | 59 | } ; |
60 | 60 | """ |
61 | 61 |
@@ -118,3 +118,26 @@ | ||
118 | 118 | |
119 | 119 | def test_2d_render_withPorts(demo2Comp): |
120 | 120 | assert CCompare(ref_demo2Comp, demo2Comp.render()) |
121 | + | |
122 | +def verify_indent(ref, comp): # indent can be used several times ... | |
123 | + try_indent="_-|" | |
124 | + out = comp.render(indent=try_indent, prepend="") | |
125 | + logger.info("ComponentInterface %s results in::\n%s", comp.name, out) | |
126 | + | |
127 | + for ref_line,out_line in zip(ref.splitlines(), out.splitlines()): | |
128 | + ref_indents = len(ref_line)-len(ref_line.lstrip(' ')) | |
129 | + logger.debug("ref_line: %s", ref_line); logger.debug("out_line: %s", out_line) | |
130 | + | |
131 | + assert out_line[:len(try_indent)*ref_indents] == try_indent*ref_indents | |
132 | + if ref_indents >0: | |
133 | + without_pref = out_line[len(try_indent*ref_indents):] | |
134 | + assert without_pref[0:len(try_indent)] != try_indent | |
135 | + | |
136 | +def test_3a_indent_empty(emptyComp): | |
137 | + verify_indent(ref_emptyComp, emptyComp) | |
138 | + | |
139 | +def test_3b_indent_demo(demo2Comp): | |
140 | + verify_indent(ref_demo2Comp, demo2Comp) | |
141 | + | |
142 | +def test_3c_indent_sub(subComp): | |
143 | + verify_indent(ref_subComp, subComp) |