• R/O
  • SSH

提交

标签
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Castle: The best Real-Time/Embedded/HighTech language EVER. Attempt 2


Commit MetaInfo

修订版92840659a115f4cef0fe2f8ccd96bc6585245f29 (tree)
时间2023-02-09 06:53:33
作者Albert Mietus < albert AT mietus DOT nl >
CommiterAlbert Mietus < albert AT mietus DOT nl >

Log Message

(asis) Refactor tests: ref_XX (txt) and fixtures/call to common.py. Some fixtures are now call()s

更改概述

差异

diff -r 164ceaf64dff -r 92840659a115 pytst/writers/CC2Cpy/common.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pytst/writers/CC2Cpy/common.py Wed Feb 08 22:53:33 2023 +0100
@@ -0,0 +1,82 @@
1+# (C) Albert Mietus, 2022, 2023. Part of Castle/CCastle project
2+
3+import logging; logger = logging.getLogger(__name__)
4+import pytest
5+
6+from castle.writers.CC2Cpy.Component import * # CC_B_ComponentInterface
7+from castle.writers.CC2Cpy.Protocol import * #CC_EventProtocol
8+
9+########## empty ##########
10+def emptyComp():
11+ return CC_B_ComponentInterface('empty')
12+
13+ref_emptyComp="""\
14+struct CC_B_ComponentInterface cc_CI_empty = {
15+ .name = "empty",
16+ .inherit_from = NULL,
17+ .length = 0,
18+ .ports = {
19+ },
20+} ;
21+"""
22+
23+ref_emptyClass="""\
24+struct CC_B_ComponentClass cc_C_empty = {
25+ .isa = NULL,
26+ .interface = &cc_CI_empty,
27+ .instance_size = sizeof(CC_C_empty),
28+ .methods = cc_B_empty_methods,
29+};
30+"""
31+
32+########## demo2Comp ##########
33+def demo2Comp():
34+ jap = CC_EventProtocol("JustAProtocol", events=[], based_on=None)
35+ return CC_B_ComponentInterface('demo2Comp', ports =[
36+ CC_Port(name='no_1', type=None, direction=CC_PortDirection.In),
37+ CC_Port(name='jap2', type=jap)])
38+
39+ref_demo2Comp="""\
40+struct CC_B_ComponentInterface cc_CI_demo2Comp = {
41+ .name = "demo2Comp",
42+ .inherit_from = NULL,
43+ .length = 2,
44+ .ports = {
45+ {
46+ .portNo = 0,
47+ .protocol = NULL,
48+ .direction = CC_B_PortDirectionIs_in,
49+ .name = "no_1",
50+ .part_of = &cc_CI_demo2Comp },
51+ {
52+ .portNo = 1,
53+ .protocol = &cc_P_JustAProtocol,
54+ .direction = CC_B_PortDirectionIs_UNKNOWN,
55+ .name = "jap2",
56+ .part_of = &cc_CI_demo2Comp },
57+ },
58+} ;
59+"""
60+
61+ref_demo2Class="""\
62+struct CC_B_ComponentClass cc_C_demo2Comp = {
63+ .isa = NULL,
64+ .interface = &cc_CI_demo2Comp,
65+ .instance_size = sizeof(CC_C_demo2Comp),
66+ .methods = cc_B_demo2Comp_methods,
67+};
68+"""
69+
70+########## subComp ##########
71+def subComp(base):
72+ return CC_B_ComponentInterface('sub', based_on=base)
73+
74+ref_subComp="""\
75+struct CC_B_ComponentInterface cc_CI_sub = {
76+ .name = "sub",
77+ .inherit_from = &cc_CI_demo2Comp,
78+ .length = 0,
79+ .ports = {
80+ },
81+} ;
82+"""
diff -r 164ceaf64dff -r 92840659a115 pytst/writers/CC2Cpy/test_3c_CompClass.py
--- a/pytst/writers/CC2Cpy/test_3c_CompClass.py Wed Feb 08 21:48:48 2023 +0100
+++ b/pytst/writers/CC2Cpy/test_3c_CompClass.py Wed Feb 08 22:53:33 2023 +0100
@@ -8,9 +8,26 @@
88
99 from . import common
1010
11-def test_0():
12- emptyClass = CC_B_ComponentClass(common.emptyComp())
13- assert CCompare(common.ref_emptyClass, emptyClass.render())
11+def test_1a_render_empty():
12+ compClass = CC_B_ComponentClass(common.emptyComp())
13+ assert CCompare(common.ref_emptyClass, compClass.render())
14+
15+def test_1a_render_demo2():
16+ compClass = CC_B_ComponentClass(common.demo2Comp())
17+ assert CCompare(common.ref_demo2Class, compClass.render())
18+
19+def test_2_render_whitespace():
20+ assert CCompare(common.ref_emptyClass, CC_B_ComponentClass(common.emptyComp()).render())
21+ assert CCompare(common.ref_emptyClass, CC_B_ComponentClass(common.emptyComp()).render_struct())
22+
23+def test_3a_indent_empty():
24+ verify_indents(common.ref_emptyComp, common.emptyComp().render)
25+
26+def test_3b_indent_demo():
27+ verify_indents(common.ref_demo2Comp, common.demo2Comp().render)
28+
29+def test_3c_indent_sub():
30+ verify_indents(common.ref_subComp, common.subComp(base=common.demo2Comp()).render)
1431
1532
1633