def testTreeWidgetGettersSetters(self): """ basic tests for QgsProjectionSelectionTreeWidget """ w = QgsProjectionSelectionTreeWidget() w.show() self.assertFalse(w.hasValidSelection()) w.setCrs(QgsCoordinateReferenceSystem('EPSG:3111')) self.assertEqual(w.crs().authid(), 'EPSG:3111') self.assertTrue(w.hasValidSelection())
def testTreeWidgetNotSetOption(self): """ test allowing no projection option for QgsProjectionSelectionTreeWidget """ w = QgsProjectionSelectionTreeWidget() w.show() w.setShowNoProjection(True) self.assertTrue(w.showNoProjection()) w.setShowNoProjection(False) self.assertFalse(w.showNoProjection()) w.setShowNoProjection(True) # no projection should be a valid selection w.setCrs(QgsCoordinateReferenceSystem()) self.assertTrue(w.hasValidSelection()) self.assertFalse(w.crs().isValid())
def testTreeWidgetUnknownCrs(self): w = QgsProjectionSelectionTreeWidget() w.show() self.assertFalse(w.hasValidSelection()) w.setCrs( QgsCoordinateReferenceSystem.fromWkt( 'GEOGCS["WGS 84",DATUM["unknown",SPHEROID["WGS84",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]]' )) self.assertTrue(w.crs().isValid()) self.assertFalse(w.crs().authid()) self.assertTrue(w.hasValidSelection()) self.assertEqual( w.crs().toWkt(QgsCoordinateReferenceSystem.WKT2_2018), 'GEOGCRS["WGS 84",DATUM["unknown",ELLIPSOID["WGS84",6378137,298.257223563,LENGTHUNIT["metre",1,ID["EPSG",9001]]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["longitude",east,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["latitude",north,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]]]' )
def testTreeWidgetDeferredLoad(self): """ Test that crs setting made before widget is initialized is respected """ w = QgsProjectionSelectionTreeWidget() spy = QSignalSpy(w.crsSelected) self.assertFalse(w.hasValidSelection()) w.setCrs(QgsCoordinateReferenceSystem('EPSG:3111')) self.assertEqual(len(spy), 1) self.assertTrue(w.hasValidSelection()) self.assertEqual(w.crs().authid(), 'EPSG:3111') self.assertEqual(len(spy), 1) w = QgsProjectionSelectionTreeWidget() spy = QSignalSpy(w.crsSelected) self.assertFalse(w.hasValidSelection()) w.setCrs(QgsCoordinateReferenceSystem()) self.assertEqual(len(spy), 1) self.assertTrue(w.hasValidSelection()) self.assertFalse(w.crs().isValid()) self.assertEqual(len(spy), 1) w.setCrs(QgsCoordinateReferenceSystem('EPSG:4326')) self.assertEqual(len(spy), 2) # expect same behavior if we show w = QgsProjectionSelectionTreeWidget() spy = QSignalSpy(w.crsSelected) self.assertFalse(w.hasValidSelection()) w.setCrs(QgsCoordinateReferenceSystem('EPSG:3111')) self.assertEqual(len(spy), 1) w.show() self.assertTrue(w.hasValidSelection()) self.assertEqual(w.crs().authid(), 'EPSG:3111') self.assertEqual(len(spy), 1) w = QgsProjectionSelectionTreeWidget() spy = QSignalSpy(w.crsSelected) self.assertFalse(w.hasValidSelection()) w.setCrs(QgsCoordinateReferenceSystem()) self.assertEqual(len(spy), 1) w.show() self.assertTrue(w.hasValidSelection()) self.assertFalse(w.crs().isValid()) self.assertEqual(len(spy), 1) # no double signals if same crs set w = QgsProjectionSelectionTreeWidget() spy = QSignalSpy(w.crsSelected) self.assertFalse(w.hasValidSelection()) w.setCrs(QgsCoordinateReferenceSystem('EPSG:3111')) w.setCrs(QgsCoordinateReferenceSystem('EPSG:3111')) self.assertEqual(len(spy), 1) # no double signals if same crs set w = QgsProjectionSelectionTreeWidget() spy = QSignalSpy(w.crsSelected) self.assertFalse(w.hasValidSelection()) w.setCrs(QgsCoordinateReferenceSystem('EPSG:3111')) w.setCrs(QgsCoordinateReferenceSystem('EPSG:3111')) w.show() w.setCrs(QgsCoordinateReferenceSystem('EPSG:3111')) self.assertEqual(len(spy), 1) w.setCrs(QgsCoordinateReferenceSystem('EPSG:4326')) self.assertEqual(len(spy), 2)