def test_addMapLayersAlreadyAdded(self): """ test that already added layers can't be readded to store """ store = QgsMapLayerStore() l1 = createLayer('test') self.assertEqual(store.addMapLayers([l1]), [l1]) self.assertEqual(len(store.mapLayersByName('test')), 1) self.assertEqual(store.count(), 1) self.assertEqual(store.addMapLayers([l1]), []) self.assertEqual(len(store.mapLayersByName('test')), 1) self.assertEqual(store.count(), 1)
def test_removeAllMapLayers(self): """ test removing all map layers from store """ store = QgsMapLayerStore() l1 = createLayer('test') l2 = createLayer('test2') store.addMapLayers([l1, l2]) self.assertEqual(store.count(), 2) store.removeAllMapLayers() self.assertEqual(store.count(), 0) self.assertEqual(store.mapLayersByName('test'), []) self.assertEqual(store.mapLayersByName('test2'), [])
def test_addMapLayerInvalid(self): """ test that invalid map layers can't be added to store """ store = QgsMapLayerStore() self.assertEqual(store.addMapLayer(QgsVectorLayer("Point?field=x:string", 'test', "xxx")), None) self.assertEqual(len(store.mapLayersByName('test')), 0) self.assertEqual(store.count(), 0)
def test_addMapLayer(self): """ test adding individual map layers to store""" store = QgsMapLayerStore() l1 = createLayer('test') self.assertEqual(store.addMapLayer(l1), l1) self.assertEqual(len(store.mapLayersByName('test')), 1) self.assertEqual(store.count(), 1) self.assertEqual(len(store), 1) # adding a second layer should leave existing layers intact l2 = createLayer('test2') self.assertEqual(store.addMapLayer(l2), l2) self.assertEqual(len(store.mapLayersByName('test')), 1) self.assertEqual(len(store.mapLayersByName('test2')), 1) self.assertEqual(store.count(), 2) self.assertEqual(len(store), 2)
def test_mapLayersByName(self): """ test retrieving map layer by name """ store = QgsMapLayerStore() # test no crash with empty store self.assertEqual(store.mapLayersByName('bad'), []) self.assertEqual(store.mapLayersByName(None), []) l1 = createLayer('test') l2 = createLayer('test2') store.addMapLayers([l1, l2]) self.assertEqual(store.mapLayersByName('bad'), []) self.assertEqual(store.mapLayersByName(None), []) self.assertEqual(store.mapLayersByName('test'), [l1]) self.assertEqual(store.mapLayersByName('test2'), [l2]) #duplicate name # little bit of a hack - we don't want a duplicate ID and since IDs are currently based on time we wait a bit here sleep(0.1) l3 = createLayer('test') store.addMapLayer(l3) self.assertEqual(set(store.mapLayersByName('test')), {l1, l3})
def test_addMapLayerInvalid(self): """ test that invalid map layers can't be added to store """ store = QgsMapLayerStore() self.assertEqual( store.addMapLayer( QgsVectorLayer("Point?field=x:string", 'test', "xxx")), None) self.assertEqual(len(store.mapLayersByName('test')), 0) self.assertEqual(store.count(), 0)
def test_addMapLayersInvalid(self): """ test that invalid map layers can be added to store """ store = QgsMapLayerStore() vl = QgsVectorLayer("Point?field=x:string", 'test', "xxx") self.assertEqual(store.addMapLayers([vl]), [vl]) self.assertEqual(len(store.mapLayersByName('test')), 1) self.assertEqual(store.count(), 1) self.assertEqual(store.validCount(), 0)
def test_addMapLayers(self): """ test adding multiple map layers to store """ store = QgsMapLayerStore() l1 = createLayer('test') l2 = createLayer('test2') self.assertEqual(set(store.addMapLayers([l1, l2])), {l1, l2}) self.assertEqual(len(store.mapLayersByName('test')), 1) self.assertEqual(len(store.mapLayersByName('test2')), 1) self.assertEqual(store.count(), 2) # adding more layers should leave existing layers intact l3 = createLayer('test3') l4 = createLayer('test4') self.assertEqual(set(store.addMapLayers([l3, l4])), {l3, l4}) self.assertEqual(len(store.mapLayersByName('test')), 1) self.assertEqual(len(store.mapLayersByName('test2')), 1) self.assertEqual(len(store.mapLayersByName('test3')), 1) self.assertEqual(len(store.mapLayersByName('test4')), 1) self.assertEqual(store.count(), 4) store.removeAllMapLayers()