MCPcopy Create free account
hub / github.com/KDAB/hotspot / testSimplifiedModel

Method testSimplifiedModel

tests/modeltests/tst_models.cpp:129–213  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

127 }
128
129 void testSimplifiedModel()
130 {
131 const auto tree = buildBottomUpTree(R"(
132 4;3;2;1
133 5;3;2;1
134 9;8;7;6
135 11;10;7;6
136 12;7;6
137 13;6
138 14
139 )");
140 QCOMPARE(tree.root.children.size(), 3);
141 const auto i1 = &tree.root.children.first();
142 QCOMPARE(i1->symbol.symbol, QStringLiteral("1"));
143 QCOMPARE(i1->children.size(), 1);
144 const auto i2 = &i1->children.first();
145 QCOMPARE(i2->symbol.symbol, QStringLiteral("2"));
146 QCOMPARE(i2->children.size(), 1);
147 const auto i3 = &i2->children.first();
148 QCOMPARE(i3->symbol.symbol, QStringLiteral("3"));
149 QCOMPARE(i3->children.size(), 2);
150 const auto i4 = &i3->children.first();
151 QCOMPARE(i4->symbol.symbol, QStringLiteral("4"));
152 QCOMPARE(i4->children.size(), 0);
153 const auto i5 = &i3->children.last();
154 QCOMPARE(i5->symbol.symbol, QStringLiteral("5"));
155 QCOMPARE(i5->children.size(), 0);
156
157 BottomUpModel model;
158 model.setSimplify(true);
159 QAbstractItemModelTester tester(&model);
160
161 model.setData(tree);
162 QCOMPARE(model.rowCount(), 3);
163
164 const auto i1_idx = model.indexFromItem(i1, 0);
165 QVERIFY(i1_idx.isValid());
166 QCOMPARE(i1_idx, model.index(0, 0));
167 QCOMPARE(model.parent(i1_idx), QModelIndex());
168 QCOMPARE(model.itemFromIndex(i1_idx), i1);
169 QCOMPARE(model.rowCount(i1_idx), 2); // simplified
170
171 const auto i2_idx = model.indexFromItem(i2, 0);
172 QVERIFY(i2_idx.isValid());
173 QCOMPARE(i2_idx, model.index(0, 0, i1_idx));
174 QCOMPARE(model.parent(i2_idx), i1_idx);
175 QCOMPARE(model.itemFromIndex(i2_idx), i2);
176 QCOMPARE(model.rowCount(i2_idx), 0); // simplified
177
178 const auto i3_idx = model.indexFromItem(i3, 0);
179 QVERIFY(i3_idx.isValid());
180 QCOMPARE(i3_idx, model.index(1, 0, i1_idx));
181 QCOMPARE(model.parent(i3_idx), i1_idx);
182 QCOMPARE(model.itemFromIndex(i3_idx), i3);
183 QCOMPARE(model.rowCount(i3_idx), 2);
184
185 const auto i4_idx = model.indexFromItem(i4, 0);
186 QVERIFY(i4_idx.isValid());

Callers

nothing calls this directly

Calls 12

buildBottomUpTreeFunction · 0.85
printModelFunction · 0.85
sizeMethod · 0.80
setSimplifyMethod · 0.80
indexFromItemMethod · 0.80
itemFromIndexMethod · 0.80
QModelIndexClass · 0.50
setDataMethod · 0.45
rowCountMethod · 0.45
isValidMethod · 0.45
indexMethod · 0.45
parentMethod · 0.45

Tested by

no test coverage detected