28
28
import os
29
29
30
30
from qgis .PyQt .QtGui import QColor
31
- from qgis .PyQt .QtCore import QSize , QThreadPool
31
+ from qgis .PyQt .QtCore import QSize , QThreadPool , QDir
32
32
from qgis .PyQt .QtXml import QDomDocument
33
33
34
34
from qgis .core import (QgsVectorLayer ,
60
60
61
61
class TestQgsPointDisplacementRenderer (unittest .TestCase ):
62
62
63
+ def setUp (self ):
64
+ self .report = "<h1>Python QgsPointDisplacementRenderer Tests</h1>\n "
65
+
66
+ def tearDown (self ):
67
+ report_file_path = "%s/qgistest.html" % QDir .tempPath ()
68
+ with open (report_file_path , 'a' ) as report_file :
69
+ report_file .write (self .report )
70
+
63
71
def _setUp (self ):
64
72
myShpFile = os .path .join (TEST_DATA_DIR , 'points.shp' )
65
73
layer = QgsVectorLayer (myShpFile , 'Points' , 'ogr' )
@@ -200,7 +208,9 @@ def testRenderNoCluster(self):
200
208
renderchecker .setMapSettings (mapsettings )
201
209
renderchecker .setControlPathPrefix ('displacement_renderer' )
202
210
renderchecker .setControlName ('expected_displacement_no_cluster' )
203
- self .assertTrue (renderchecker .runTest ('displacement_no_cluster' ))
211
+ res = renderchecker .runTest ('displacement_no_cluster' )
212
+ self .report += renderchecker .report ()
213
+ self .assertTrue (res )
204
214
self ._tearDown (layer )
205
215
206
216
def testRenderWithin (self ):
@@ -210,7 +220,9 @@ def testRenderWithin(self):
210
220
renderchecker .setMapSettings (mapsettings )
211
221
renderchecker .setControlPathPrefix ('displacement_renderer' )
212
222
renderchecker .setControlName ('expected_displacement_cluster' )
213
- self .assertTrue (renderchecker .runTest ('expected_displacement_cluster' ))
223
+ res = renderchecker .runTest ('expected_displacement_cluster' )
224
+ self .report += renderchecker .report ()
225
+ self .assertTrue (res )
214
226
self ._tearDown (layer )
215
227
216
228
def testRenderVariables (self ):
@@ -229,6 +241,7 @@ def testRenderVariables(self):
229
241
renderchecker .setControlPathPrefix ('displacement_renderer' )
230
242
renderchecker .setControlName ('expected_displacement_variables' )
231
243
result = renderchecker .runTest ('expected_displacement_variables' )
244
+ self .report += renderchecker .report ()
232
245
layer .renderer ().setCenterSymbol (old_marker )
233
246
self .assertTrue (result )
234
247
self ._tearDown (layer )
@@ -241,7 +254,9 @@ def testRenderGrid(self):
241
254
renderchecker .setMapSettings (mapsettings )
242
255
renderchecker .setControlPathPrefix ('displacement_renderer' )
243
256
renderchecker .setControlName ('expected_displacement_grid' )
244
- self .assertTrue (renderchecker .runTest ('expected_displacement_grid' ))
257
+ res = renderchecker .runTest ('expected_displacement_grid' )
258
+ self .report += renderchecker .report ()
259
+ self .assertTrue (res )
245
260
self ._tearDown (layer )
246
261
247
262
def testRenderGridAdjust (self ):
@@ -254,45 +269,59 @@ def testRenderGridAdjust(self):
254
269
renderchecker .setMapSettings (mapsettings )
255
270
renderchecker .setControlPathPrefix ('displacement_renderer' )
256
271
renderchecker .setControlName ('expected_displacement_adjust_grid' )
257
- self .assertTrue (renderchecker .runTest ('expected_displacement_adjust_grid' ))
272
+ res = renderchecker .runTest ('expected_displacement_adjust_grid' )
273
+ self .report += renderchecker .report ()
274
+ self .assertTrue (res )
258
275
self ._tearDown (layer )
259
276
260
277
def testClusterRingLabels (self ):
261
278
layer , renderer , mapsettings = self ._setUp ()
262
279
layer .renderer ().setTolerance (10 )
263
280
layer .renderer ().setLabelAttributeName ('Class' )
264
281
layer .renderer ().setLabelDistanceFactor (0.35 )
282
+ f = QgsFontUtils .getStandardTestFont ('Bold' , 14 )
283
+ layer .renderer ().setLabelFont (f )
265
284
renderchecker = QgsMultiRenderChecker ()
266
285
renderchecker .setMapSettings (mapsettings )
267
286
renderchecker .setControlPathPrefix ('displacement_renderer' )
268
287
renderchecker .setControlName ('expected_displacement_cluster_ring_labels' )
269
- self .assertTrue (renderchecker .runTest ('expected_displacement_cluster_ring_labels' ))
288
+ res = renderchecker .runTest ('expected_displacement_cluster_ring_labels' )
289
+ self .report += renderchecker .report ()
290
+ self .assertTrue (res )
270
291
self ._tearDown (layer )
271
292
272
293
def testClusterGridLabels (self ):
273
294
layer , renderer , mapsettings = self ._setUp ()
274
295
layer .renderer ().setTolerance (10 )
275
296
layer .renderer ().setLabelAttributeName ('Class' )
276
297
layer .renderer ().setLabelDistanceFactor (0.35 )
298
+ f = QgsFontUtils .getStandardTestFont ('Bold' , 14 )
299
+ layer .renderer ().setLabelFont (f )
277
300
layer .renderer ().setPlacement (QgsPointDisplacementRenderer .Grid )
278
301
renderchecker = QgsMultiRenderChecker ()
279
302
renderchecker .setMapSettings (mapsettings )
280
303
renderchecker .setControlPathPrefix ('displacement_renderer' )
281
304
renderchecker .setControlName ('expected_displacement_cluster_grid_labels' )
282
- self .assertTrue (renderchecker .runTest ('expected_displacement_cluster_grid_labels' ))
305
+ res = renderchecker .runTest ('expected_displacement_cluster_grid_labels' )
306
+ self .report += renderchecker .report ()
307
+ self .assertTrue (res )
283
308
self ._tearDown (layer )
284
309
285
310
def testClusterConcentricLabels (self ):
286
311
layer , renderer , mapsettings = self ._setUp ()
287
312
layer .renderer ().setTolerance (10 )
288
313
layer .renderer ().setLabelAttributeName ('Class' )
289
314
layer .renderer ().setLabelDistanceFactor (0.35 )
315
+ f = QgsFontUtils .getStandardTestFont ('Bold' , 14 )
316
+ layer .renderer ().setLabelFont (f )
290
317
layer .renderer ().setPlacement (QgsPointDisplacementRenderer .ConcentricRings )
291
318
renderchecker = QgsMultiRenderChecker ()
292
319
renderchecker .setMapSettings (mapsettings )
293
320
renderchecker .setControlPathPrefix ('displacement_renderer' )
294
321
renderchecker .setControlName ('expected_displacement_cluster_concentric_labels' )
295
- self .assertTrue (renderchecker .runTest ('expected_displacement_cluster_concentric_labels' ))
322
+ res = renderchecker .runTest ('expected_displacement_cluster_concentric_labels' )
323
+ self .report += renderchecker .report ()
324
+ self .assertTrue (res )
296
325
self ._tearDown (layer )
297
326
298
327
def testClusterRingLabelsDifferentSizes (self ):
@@ -301,11 +330,15 @@ def testClusterRingLabelsDifferentSizes(self):
301
330
layer .renderer ().setTolerance (10 )
302
331
layer .renderer ().setLabelAttributeName ('Class' )
303
332
layer .renderer ().setLabelDistanceFactor (0.35 )
333
+ f = QgsFontUtils .getStandardTestFont ('Bold' , 14 )
334
+ layer .renderer ().setLabelFont (f )
304
335
renderchecker = QgsMultiRenderChecker ()
305
336
renderchecker .setMapSettings (mapsettings )
306
337
renderchecker .setControlPathPrefix ('displacement_renderer' )
307
338
renderchecker .setControlName ('expected_displacement_cluster_ring_labels_diff_size' )
308
- self .assertTrue (renderchecker .runTest ('expected_displacement_cluster_ring_labels_diff_size' ))
339
+ res = renderchecker .runTest ('expected_displacement_cluster_ring_labels_diff_size' )
340
+ self .report += renderchecker .report ()
341
+ self .assertTrue (res )
309
342
self ._tearDown (layer )
310
343
311
344
def testClusterGridLabelsDifferentSizes (self ):
@@ -314,12 +347,16 @@ def testClusterGridLabelsDifferentSizes(self):
314
347
layer .renderer ().setTolerance (10 )
315
348
layer .renderer ().setLabelAttributeName ('Class' )
316
349
layer .renderer ().setLabelDistanceFactor (0.35 )
350
+ f = QgsFontUtils .getStandardTestFont ('Bold' , 14 )
351
+ layer .renderer ().setLabelFont (f )
317
352
layer .renderer ().setPlacement (QgsPointDisplacementRenderer .Grid )
318
353
renderchecker = QgsMultiRenderChecker ()
319
354
renderchecker .setMapSettings (mapsettings )
320
355
renderchecker .setControlPathPrefix ('displacement_renderer' )
321
356
renderchecker .setControlName ('expected_displacement_cluster_grid_labels_diff_size' )
322
- self .assertTrue (renderchecker .runTest ('expected_displacement_cluster_grid_labels_diff_size' ))
357
+ res = renderchecker .runTest ('expected_displacement_cluster_grid_labels_diff_size' )
358
+ self .report += renderchecker .report ()
359
+ self .assertTrue (res )
323
360
self ._tearDown (layer )
324
361
325
362
def testClusterConcentricLabelsDifferentSizes (self ):
@@ -328,12 +365,16 @@ def testClusterConcentricLabelsDifferentSizes(self):
328
365
layer .renderer ().setTolerance (10 )
329
366
layer .renderer ().setLabelAttributeName ('Class' )
330
367
layer .renderer ().setLabelDistanceFactor (0.35 )
368
+ f = QgsFontUtils .getStandardTestFont ('Bold' , 14 )
369
+ layer .renderer ().setLabelFont (f )
331
370
layer .renderer ().setPlacement (QgsPointDisplacementRenderer .ConcentricRings )
332
371
renderchecker = QgsMultiRenderChecker ()
333
372
renderchecker .setMapSettings (mapsettings )
334
373
renderchecker .setControlPathPrefix ('displacement_renderer' )
335
374
renderchecker .setControlName ('expected_displacement_cluster_concentric_labels_diff_size' )
336
- self .assertTrue (renderchecker .runTest ('expected_displacement_cluster_concentric_labels_diff_size' ))
375
+ res = renderchecker .runTest ('expected_displacement_cluster_concentric_labels_diff_size' )
376
+ self .report += renderchecker .report ()
377
+ self .assertTrue (res )
337
378
self ._tearDown (layer )
338
379
339
380
def testClusterRingLabelsDifferentSizesFarther (self ):
@@ -342,11 +383,15 @@ def testClusterRingLabelsDifferentSizesFarther(self):
342
383
layer .renderer ().setTolerance (10 )
343
384
layer .renderer ().setLabelAttributeName ('Class' )
344
385
layer .renderer ().setLabelDistanceFactor (1 )
386
+ f = QgsFontUtils .getStandardTestFont ('Bold' , 14 )
387
+ layer .renderer ().setLabelFont (f )
345
388
renderchecker = QgsMultiRenderChecker ()
346
389
renderchecker .setMapSettings (mapsettings )
347
390
renderchecker .setControlPathPrefix ('displacement_renderer' )
348
391
renderchecker .setControlName ('expected_displacement_cluster_ring_labels_diff_size_farther' )
349
- self .assertTrue (renderchecker .runTest ('expected_displacement_cluster_ring_labels_diff_size_farther' ))
392
+ res = renderchecker .runTest ('expected_displacement_cluster_ring_labels_diff_size_farther' )
393
+ self .report += renderchecker .report ()
394
+ self .assertTrue (res )
350
395
self ._tearDown (layer )
351
396
352
397
def testClusterGridLabelsDifferentSizesFarther (self ):
@@ -356,11 +401,15 @@ def testClusterGridLabelsDifferentSizesFarther(self):
356
401
layer .renderer ().setLabelAttributeName ('Class' )
357
402
layer .renderer ().setLabelDistanceFactor (1 )
358
403
layer .renderer ().setPlacement (QgsPointDisplacementRenderer .Grid )
404
+ f = QgsFontUtils .getStandardTestFont ('Bold' , 14 )
405
+ layer .renderer ().setLabelFont (f )
359
406
renderchecker = QgsMultiRenderChecker ()
360
407
renderchecker .setMapSettings (mapsettings )
361
408
renderchecker .setControlPathPrefix ('displacement_renderer' )
362
409
renderchecker .setControlName ('expected_displacement_cluster_grid_labels_diff_size_farther' )
363
- self .assertTrue (renderchecker .runTest ('expected_displacement_cluster_grid_labels_diff_size_farther' ))
410
+ res = renderchecker .runTest ('expected_displacement_cluster_grid_labels_diff_size_farther' )
411
+ self .report += renderchecker .report ()
412
+ self .assertTrue (res )
364
413
self ._tearDown (layer )
365
414
366
415
def testClusterConcentricLabelsDifferentSizesFarther (self ):
@@ -369,12 +418,16 @@ def testClusterConcentricLabelsDifferentSizesFarther(self):
369
418
layer .renderer ().setTolerance (10 )
370
419
layer .renderer ().setLabelAttributeName ('Class' )
371
420
layer .renderer ().setLabelDistanceFactor (1 )
421
+ f = QgsFontUtils .getStandardTestFont ('Bold' , 14 )
422
+ layer .renderer ().setLabelFont (f )
372
423
layer .renderer ().setPlacement (QgsPointDisplacementRenderer .ConcentricRings )
373
424
renderchecker = QgsMultiRenderChecker ()
374
425
renderchecker .setMapSettings (mapsettings )
375
426
renderchecker .setControlPathPrefix ('displacement_renderer' )
376
427
renderchecker .setControlName ('expected_displacement_cluster_concentric_labels_diff_size_farther' )
377
- self .assertTrue (renderchecker .runTest ('expected_displacement_cluster_concentric_labels_diff_size_farther' ))
428
+ res = renderchecker .runTest ('expected_displacement_cluster_concentric_labels_diff_size_farther' )
429
+ self .report += renderchecker .report ()
430
+ self .assertTrue (res )
378
431
self ._tearDown (layer )
379
432
380
433
0 commit comments