def test_polymorphicRelation(self): # tests addPolymorphicRelation/polymorphicRelation manager = QgsRelationManager() # initially the map should be empty self.assertFalse(manager.polymorphicRelations()) poly_rel1 = self.createPolymorphicRelation() poly_rel1.setId('poly_rel1') poly_rel1.setName('Poly Rel 1') poly_rel2 = self.createPolymorphicRelation() poly_rel2.setId('poly_rel2') poly_rel2.setName('Poly Rel 2') # the relation should be valid now self.assertTrue(poly_rel1.isValid()) self.assertTrue(poly_rel2.isValid()) manager.addPolymorphicRelation(poly_rel1) manager.addPolymorphicRelation(poly_rel2) self.assertFalse( manager.polymorphicRelation('poly_invalid_id').isValid()) self.assertTrue(manager.polymorphicRelation('poly_rel1').isValid()) self.assertTrue(manager.polymorphicRelation('poly_rel2').isValid()) self.assertTrue( manager.polymorphicRelation('poly_rel1').hasEqualDefinition( poly_rel1)) self.assertTrue( manager.polymorphicRelation('poly_rel2').hasEqualDefinition( poly_rel2))
def test_setPolymorphicRelations(self): # tests polymorphicRelations/setPolymorphicRelations manager = QgsRelationManager() # initially the map should be empty self.assertListEqual(list(manager.polymorphicRelations()), []) poly_rel1 = self.createPolymorphicRelation() poly_rel1.setId('poly_rel1') poly_rel1.setName('Poly Rel 1') poly_rel2 = self.createPolymorphicRelation() poly_rel2.setId('poly_rel2') poly_rel2.setName('Poly Rel 2') poly_rel3 = self.createPolymorphicRelation() poly_rel3.setId('poly_rel3') poly_rel3.setName('Poly Rel 3') # the relation should be valid now self.assertTrue(poly_rel1.isValid()) self.assertTrue(poly_rel2.isValid()) self.assertTrue(poly_rel3.isValid()) manager.setPolymorphicRelations([poly_rel1, poly_rel2, poly_rel3]) # the relations should match self.assertListEqual(list(manager.polymorphicRelations()), ['poly_rel1', 'poly_rel2', 'poly_rel3']) self.assertTrue(manager.polymorphicRelations()['poly_rel1']) self.assertTrue(manager.polymorphicRelations()['poly_rel2']) self.assertTrue(manager.polymorphicRelations()['poly_rel3']) self.assertTrue(manager.polymorphicRelations() ['poly_rel1'].hasEqualDefinition(poly_rel1)) self.assertTrue(manager.polymorphicRelations() ['poly_rel2'].hasEqualDefinition(poly_rel2)) self.assertTrue(manager.polymorphicRelations() ['poly_rel3'].hasEqualDefinition(poly_rel3)) manager.setPolymorphicRelations([poly_rel1]) self.assertListEqual(list(manager.polymorphicRelations()), ['poly_rel1']) manager.setPolymorphicRelations([]) self.assertListEqual(list(manager.polymorphicRelations()), [])