Castle: The best Real-Time/Embedded/HighTech language EVER. Attempt 2
Revisão | 2cba36f3f7276cc6f553a892d7aa8db081877d11 (tree) |
---|---|
Hora | 2023-01-29 08:58:07 |
Autor | Albert Mietus < albert AT mietus DOT nl > |
Commiter | Albert Mietus < albert AT mietus DOT nl > |
(asis) Removed unused indent= parm in most render_* methods. MutMut showed it, extra test removed
@@ -69,8 +69,8 @@ | ||
69 | 69 | def render(self, prepend:str="", indent=" ") ->str: |
70 | 70 | return ( |
71 | 71 | self.render_struct(prepend, indent) + "\n" + |
72 | - self.render_indexes(prepend, indent) + "\n" + | |
73 | - self.render_FTs(prepend, indent) + "\n" ) | |
72 | + self.render_indexes(prepend) + "\n" + | |
73 | + self.render_FTs(prepend) + "\n" ) | |
74 | 74 | |
75 | 75 | |
76 | 76 | def render_struct(self, prepend:str="", indent=" ") ->str: ## struct CC_B_Protocol $name = {...} ; |
@@ -100,18 +100,16 @@ | ||
100 | 100 | return '\n'.join(retval) +"\n" |
101 | 101 | |
102 | 102 | |
103 | - # XXX Mutant 2* : default values prepend/indent | |
104 | - def render_indexes(self, prepend:str="", indent=" ") ->str: ## #define CC_P_<proto>_<event> index | |
105 | - ## For now, loop over the events here ... | |
103 | + def render_indexes(self, prepend:str="") ->str: ## #define CC_P_<proto>_<event> index | |
106 | 104 | retval = [] |
107 | - for n, e in enumerate(self.events, len(self.event_dict(inherired=True,mine=False))): # pragma: no mutate on event_dict parms | |
105 | + for n, e in enumerate(self.events, len(self.event_dict(inherired=True, mine=False))): # pragma: no mutate on event_dict parms | |
108 | 106 | retval.append(f'{prepend}#define CC_P_{self.name}_{e.name}\t{n}') |
109 | 107 | return '\n'.join(retval)+"\n" |
110 | 108 | |
111 | 109 | |
112 | 110 | # XXX Mutant 2*: default values prepend/indent |
113 | - def render_FTs(self, prepend:str="", indent=" ") ->str: ##typedef void (*CC_E_{...}_FT)(CC_selfType, CC_ComponentType, {...}); | |
114 | - type_name = lambda ptype : ptype if isinstance(ptype, str) else ptype.__name__ # XXX Mutant | |
111 | + def render_FTs(self, prepend:str="", ) ->str: ##typedef void (*CC_E_{...}_FT)(CC_selfType, CC_ComponentType, {...}); | |
112 | + type_name = lambda ptype : ptype if isinstance(ptype, str) else ptype.__name__ # pragma: no mutate -- is it needed? | |
115 | 113 | |
116 | 114 | retval = [] |
117 | 115 | for e in self.events: |
@@ -161,7 +161,7 @@ | ||
161 | 161 | verify_prepend(demoProtocol) |
162 | 162 | |
163 | 163 | |
164 | -def verify_indent(ref, protocol): # indent can be used several time ... | |
164 | +def verify_indent(ref, protocol): # indent can be used several times ... | |
165 | 165 | try_indent="_-|" |
166 | 166 | out = protocol.render_struct(indent=try_indent, prepend="") |
167 | 167 | logger.info("Protocol %s results in::\n%s", protocol.name, out) |
@@ -187,5 +187,16 @@ | ||
187 | 187 | verify_indent(ref_demo, demoProtocol) |
188 | 188 | |
189 | 189 | |
190 | +def test_prepend_indexes(demoProtocol): | |
191 | + assert CCompare(ref_demo_index, demoProtocol.render_indexes()) | |
192 | + assert CCompare(ref_demo_index, demoProtocol.render_indexes(prepend="")) | |
193 | + assert CCompare(ref_demo_index, demoProtocol.render_indexes(prepend="\t")) | |
194 | + | |
195 | +def test_prepend_FTs(demoProtocol): | |
196 | + assert CCompare(ref_demo_FTs, demoProtocol.render_FTs()) | |
197 | + assert CCompare(ref_demo_FTs, demoProtocol.render_FTs(prepend="")) | |
198 | + assert CCompare(ref_demo_FTs, demoProtocol.render_FTs(prepend="\t")) | |
199 | + | |
200 | + | |
190 | 201 | @pytest.mark.skip(reason="CURRENT: busy with testing all part of *C&P CC_EventProtocol") |
191 | 202 | def test_more(): pass |