MCPcopy Create free account
hub / github.com/IChooseYou/Reclass / TestCompose

Class TestCompose

tests/test_compose.cpp:6–2033  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4using namespace rcx;
5
6class TestCompose : public QObject {
7 Q_OBJECT
8private slots:
9 void testBasicStruct() {
10 NodeTree tree;
11 tree.baseAddress = 0;
12
13 Node root;
14 root.kind = NodeKind::Struct;
15 root.name = "Root";
16 root.parentId = 0;
17 root.offset = 0;
18 int ri = tree.addNode(root);
19 uint64_t rootId = tree.nodes[ri].id;
20
21 Node f1;
22 f1.kind = NodeKind::Hex32;
23 f1.name = "field_0";
24 f1.parentId = rootId;
25 f1.offset = 0;
26 tree.addNode(f1);
27
28 Node f2;
29 f2.kind = NodeKind::Float;
30 f2.name = "value";
31 f2.parentId = rootId;
32 f2.offset = 4;
33 tree.addNode(f2);
34
35 NullProvider prov;
36 ComposeResult result = compose(tree, prov);
37
38 // CommandRow + 2 fields + root footer = 4
39 QCOMPARE(result.meta.size(), 4);
40
41 // Line 0 is CommandRow
42 QCOMPARE(result.meta[0].lineKind, LineKind::CommandRow);
43
44 // Fields at depth 1
45 QVERIFY(!result.meta[1].foldHead);
46 QCOMPARE(result.meta[1].depth, 1);
47 QVERIFY(!result.meta[2].foldHead);
48 QCOMPARE(result.meta[2].depth, 1);
49
50 // Offset text
51 QCOMPARE(result.meta[1].offsetText, QString("0000 "));
52 QCOMPARE(result.meta[2].offsetText, QString("0004 "));
53
54 // Line 3 is root footer
55 QCOMPARE(result.meta[3].lineKind, LineKind::Footer);
56 }
57
58 void testVec3SingleLine() {
59 NodeTree tree;
60 tree.baseAddress = 0;
61
62 Node root;
63 root.kind = NodeKind::Struct;

Callers

nothing calls this directly

Calls 3

composeFunction · 0.85
addNodeMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected