| 222 | |
| 223 | |
| 224 | void MapTest::hasAlpha() |
| 225 | { |
| 226 | Map map; |
| 227 | MapView view{ &map }; |
| 228 | QVERIFY(map.loadFrom(examples_dir.absoluteFilePath(QStringLiteral("complete map.omap")), &view)); |
| 229 | QVERIFY(!map.hasAlpha()); |
| 230 | |
| 231 | QVERIFY(map.getNumParts() > 0); |
| 232 | QVERIFY(map.getPart(0)->getNumObjects() > 0); |
| 233 | |
| 234 | auto* symbol = [&map]() -> Symbol* { |
| 235 | auto* symbol = map.getPart(0)->getObject(0)->getSymbol(); |
| 236 | return symbol ? map.getSymbol(map.findSymbolIndex(symbol)) : nullptr; |
| 237 | }(); |
| 238 | QVERIFY(symbol); |
| 239 | |
| 240 | auto* color = [&map, symbol]() -> MapColor* { |
| 241 | auto* color = symbol->guessDominantColor(); |
| 242 | return color ? map.getMapColor(map.findColorIndex(color)) : nullptr; |
| 243 | }(); |
| 244 | QVERIFY(color); |
| 245 | |
| 246 | color->setOpacity(0.5); |
| 247 | QVERIFY(map.hasAlpha()); |
| 248 | |
| 249 | color->setOpacity(0); |
| 250 | QVERIFY(!map.hasAlpha()); |
| 251 | |
| 252 | color->setOpacity(0.5); |
| 253 | for (int i = 0; i < map.getNumSymbols(); ++i) |
| 254 | { |
| 255 | if (map.getSymbol(i)->containsColor(color)) |
| 256 | map.getSymbol(i)->setHidden(true); |
| 257 | } |
| 258 | QVERIFY(!map.hasAlpha()); |
| 259 | |
| 260 | view.setAllTemplatesHidden(false); |
| 261 | view.setGridVisible(false); |
| 262 | QVERIFY(!view.hasAlpha()); |
| 263 | |
| 264 | view.setMapVisibility({1, true}); |
| 265 | QVERIFY(!view.hasAlpha()); |
| 266 | |
| 267 | view.setMapVisibility({1, false}); |
| 268 | QVERIFY(!view.hasAlpha()); |
| 269 | |
| 270 | view.setMapVisibility({0.5, false}); |
| 271 | QVERIFY(!view.hasAlpha()); |
| 272 | |
| 273 | view.setMapVisibility({0.5, true}); |
| 274 | QVERIFY(view.hasAlpha()); |
| 275 | |
| 276 | view.setAllTemplatesHidden(true); |
| 277 | QVERIFY(!view.hasAlpha()); |
| 278 | |
| 279 | view.setGridVisible(true); |
| 280 | MapGrid grid; |
| 281 |
nothing calls this directly
no test coverage detected