def __init__(self, methodName): """Run once on class initialization.""" unittest.TestCase.__init__(self, methodName) # create composition self.mComposition = QgsComposition(QgsProject.instance()) self.mComposition.setPaperSize(297, 210) # create polygon = QPolygonF() polygon.append(QPointF(0.0, 0.0)) polygon.append(QPointF(100.0, 0.0)) polygon.append(QPointF(200.0, 100.0)) polygon.append(QPointF(100.0, 200.0)) self.mComposerPolygon = QgsComposerPolygon(polygon, self.mComposition) self.mComposition.addComposerPolygon(self.mComposerPolygon) # style props = {} props["color"] = "green" props["style"] = "solid" props["style_border"] = "solid" props["color_border"] = "black" props["width_border"] = "10.0" props["joinstyle"] = "miter" style = QgsFillSymbol.createSimple(props) self.mComposerPolygon.setPolygonStyleSymbol(style)
def __init__(self, methodName): """Run once on class initialization.""" unittest.TestCase.__init__(self, methodName) self.mapSettings = QgsMapSettings() # create composition self.mComposition = QgsComposition(self.mapSettings) self.mComposition.setPaperSize(297, 210) # create polygon = QPolygonF() polygon.append(QPointF(0.0, 0.0)) polygon.append(QPointF(100.0, 0.0)) polygon.append(QPointF(200.0, 100.0)) polygon.append(QPointF(100.0, 200.0)) self.mComposerPolygon = QgsComposerPolygon(polygon, self.mComposition) self.mComposition.addComposerPolygon(self.mComposerPolygon) # style props = {} props["color"] = "green" props["style"] = "solid" props["style_border"] = "solid" props["color_border"] = "black" props["width_border"] = "10.0" props["joinstyle"] = "miter" style = QgsFillSymbol.createSimple(props) self.mComposerPolygon.setPolygonStyleSymbol(style)
class TestQgsComposerPolygon(unittest.TestCase): def __init__(self, methodName): """Run once on class initialization.""" unittest.TestCase.__init__(self, methodName) # create composition self.mComposition = QgsComposition(QgsProject.instance()) self.mComposition.setPaperSize(297, 210) # create polygon = QPolygonF() polygon.append(QPointF(0.0, 0.0)) polygon.append(QPointF(100.0, 0.0)) polygon.append(QPointF(200.0, 100.0)) polygon.append(QPointF(100.0, 200.0)) self.mComposerPolygon = QgsComposerPolygon(polygon, self.mComposition) self.mComposition.addComposerPolygon(self.mComposerPolygon) # style props = {} props["color"] = "green" props["style"] = "solid" props["style_border"] = "solid" props["color_border"] = "black" props["width_border"] = "10.0" props["joinstyle"] = "miter" style = QgsFillSymbol.createSimple(props) self.mComposerPolygon.setPolygonStyleSymbol(style) def testDisplayName(self): """Test if displayName is valid""" self.assertEqual(self.mComposerPolygon.displayName(), "<polygon>") def testType(self): """Test if type is valid""" self.assertEqual( self.mComposerPolygon.type(), QgsComposerItem.ComposerPolygon) def testDefaultStyle(self): """Test polygon rendering with default style.""" self.mComposerPolygon.setDisplayNodes(False) checker = QgsCompositionChecker( 'composerpolygon_defaultstyle', self.mComposition) checker.setControlPathPrefix("composer_polygon") myTestResult, myMessage = checker.testComposition() assert myTestResult, myMessage def testDisplayNodes(self): """Test displayNodes method""" self.mComposerPolygon.setDisplayNodes(True) checker = QgsCompositionChecker( 'composerpolygon_displaynodes', self.mComposition) checker.setControlPathPrefix("composer_polygon") myTestResult, myMessage = checker.testComposition() assert myTestResult, myMessage self.mComposerPolygon.setDisplayNodes(False) checker = QgsCompositionChecker( 'composerpolygon_defaultstyle', self.mComposition) checker.setControlPathPrefix("composer_polygon") myTestResult, myMessage = checker.testComposition() assert myTestResult, myMessage def testSelectedNode(self): """Test selectedNode and deselectNode methods""" self.mComposerPolygon.setDisplayNodes(True) self.mComposerPolygon.setSelectedNode(3) checker = QgsCompositionChecker( 'composerpolygon_selectednode', self.mComposition) checker.setControlPathPrefix("composer_polygon") myTestResult, myMessage = checker.testComposition() assert myTestResult, myMessage self.mComposerPolygon.deselectNode() self.mComposerPolygon.setDisplayNodes(False) checker = QgsCompositionChecker( 'composerpolygon_defaultstyle', self.mComposition) checker.setControlPathPrefix("composer_polygon") myTestResult, myMessage = checker.testComposition() assert myTestResult, myMessage def testRemoveNode(self): """Test removeNode method""" rc = self.mComposerPolygon.removeNode(100) self.assertEqual(rc, False) checker = QgsCompositionChecker( 'composerpolygon_defaultstyle', self.mComposition) checker.setControlPathPrefix("composer_polygon") myTestResult, myMessage = checker.testComposition() assert myTestResult, myMessage self.assertEqual(self.mComposerPolygon.nodesSize(), 4) def testAddNode(self): """Test addNode method""" # default searching radius is 10 self.assertEqual(self.mComposerPolygon.nodesSize(), 4) rc = self.mComposerPolygon.addNode(QPointF(50.0, 10.0)) self.assertEqual(rc, False) # default searching radius is 10 self.assertEqual(self.mComposerPolygon.nodesSize(), 4) rc = self.mComposerPolygon.addNode(QPointF(50.0, 9.99)) self.assertEqual(rc, True) self.assertEqual(self.mComposerPolygon.nodesSize(), 5) def testAddNodeCustomRadius(self): """Test addNode with custom radius""" # default searching radius is 10 self.assertEqual(self.mComposerPolygon.nodesSize(), 4) rc = self.mComposerPolygon.addNode(QPointF(50.0, 8.1), True, 8.0) self.assertEqual(rc, False) self.assertEqual(self.mComposerPolygon.nodesSize(), 4) # default searching radius is 10 rc = self.mComposerPolygon.addNode(QPointF(50.0, 7.9), True, 8.0) self.assertEqual(rc, True) self.assertEqual(self.mComposerPolygon.nodesSize(), 5) def testAddNodeWithoutCheckingArea(self): """Test addNode without checking the maximum distance allowed""" # default searching radius is 10 self.assertEqual(self.mComposerPolygon.nodesSize(), 4) rc = self.mComposerPolygon.addNode(QPointF(50.0, 20.0)) self.assertEqual(rc, False) self.assertEqual(self.mComposerPolygon.nodesSize(), 4) # default searching radius is 10 self.assertEqual(self.mComposerPolygon.nodesSize(), 4) rc = self.mComposerPolygon.addNode(QPointF(50.0, 20.0), False) self.assertEqual(rc, True) self.assertEqual(self.mComposerPolygon.nodesSize(), 5) checker = QgsCompositionChecker( 'composerpolygon_addnode', self.mComposition) checker.setControlPathPrefix("composer_polygon") myTestResult, myMessage = checker.testComposition() assert myTestResult, myMessage def testMoveNode(self): """Test moveNode method""" rc = self.mComposerPolygon.moveNode(30, QPointF(100.0, 300.0)) self.assertEqual(rc, False) rc = self.mComposerPolygon.moveNode(3, QPointF(100.0, 150.0)) self.assertEqual(rc, True) checker = QgsCompositionChecker( 'composerpolygon_movenode', self.mComposition) checker.setControlPathPrefix("composer_polygon") myTestResult, myMessage = checker.testComposition() assert myTestResult, myMessage def testNodeAtPosition(self): """Test nodeAtPosition method""" # default searching radius is 10 rc = self.mComposerPolygon.nodeAtPosition(QPointF(100.0, 210.0)) self.assertEqual(rc, -1) # default searching radius is 10 rc = self.mComposerPolygon.nodeAtPosition( QPointF(100.0, 210.0), False) self.assertEqual(rc, 3) # default searching radius is 10 rc = self.mComposerPolygon.nodeAtPosition( QPointF(100.0, 210.0), True, 10.1) self.assertEqual(rc, 3)
class TestQgsComposerPolygon(unittest.TestCase): def __init__(self, methodName): """Run once on class initialization.""" unittest.TestCase.__init__(self, methodName) self.mapSettings = QgsMapSettings() # create composition self.mComposition = QgsComposition(self.mapSettings) self.mComposition.setPaperSize(297, 210) # create polygon = QPolygonF() polygon.append(QPointF(0.0, 0.0)) polygon.append(QPointF(100.0, 0.0)) polygon.append(QPointF(200.0, 100.0)) polygon.append(QPointF(100.0, 200.0)) self.mComposerPolygon = QgsComposerPolygon(polygon, self.mComposition) self.mComposition.addComposerPolygon(self.mComposerPolygon) # style props = {} props["color"] = "green" props["style"] = "solid" props["style_border"] = "solid" props["color_border"] = "black" props["width_border"] = "10.0" props["joinstyle"] = "miter" style = QgsFillSymbol.createSimple(props) self.mComposerPolygon.setPolygonStyleSymbol(style) def testDisplayName(self): """Test if displayName is valid""" self.assertEqual(self.mComposerPolygon.displayName(), "<polygon>") def testType(self): """Test if type is valid""" self.assertEqual( self.mComposerPolygon.type(), QgsComposerItem.ComposerPolygon) def testDefaultStyle(self): """Test polygon rendering with default style.""" self.mComposerPolygon.setDisplayNodes(False) checker = QgsCompositionChecker( 'composerpolygon_defaultstyle', self.mComposition) checker.setControlPathPrefix("composer_polygon") myTestResult, myMessage = checker.testComposition() assert myTestResult, myMessage def testDisplayNodes(self): """Test displayNodes method""" self.mComposerPolygon.setDisplayNodes(True) checker = QgsCompositionChecker( 'composerpolygon_displaynodes', self.mComposition) checker.setControlPathPrefix("composer_polygon") myTestResult, myMessage = checker.testComposition() assert myTestResult, myMessage self.mComposerPolygon.setDisplayNodes(False) checker = QgsCompositionChecker( 'composerpolygon_defaultstyle', self.mComposition) checker.setControlPathPrefix("composer_polygon") myTestResult, myMessage = checker.testComposition() assert myTestResult, myMessage def testSelectedNode(self): """Test selectedNode and unselectNode methods""" self.mComposerPolygon.setDisplayNodes(True) self.mComposerPolygon.setSelectedNode(3) checker = QgsCompositionChecker( 'composerpolygon_selectednode', self.mComposition) checker.setControlPathPrefix("composer_polygon") myTestResult, myMessage = checker.testComposition() assert myTestResult, myMessage self.mComposerPolygon.unselectNode() self.mComposerPolygon.setDisplayNodes(False) checker = QgsCompositionChecker( 'composerpolygon_defaultstyle', self.mComposition) checker.setControlPathPrefix("composer_polygon") myTestResult, myMessage = checker.testComposition() assert myTestResult, myMessage def testRemoveNode(self): """Test removeNode method""" rc = self.mComposerPolygon.removeNode(100) self.assertEqual(rc, False) checker = QgsCompositionChecker( 'composerpolygon_defaultstyle', self.mComposition) checker.setControlPathPrefix("composer_polygon") myTestResult, myMessage = checker.testComposition() assert myTestResult, myMessage self.assertEqual(self.mComposerPolygon.nodesSize(), 4) def testAddNode(self): """Test addNode method""" # default searching radius is 10 self.assertEqual(self.mComposerPolygon.nodesSize(), 4) rc = self.mComposerPolygon.addNode(QPointF(50.0, 10.0)) self.assertEqual(rc, False) # default searching radius is 10 self.assertEqual(self.mComposerPolygon.nodesSize(), 4) rc = self.mComposerPolygon.addNode(QPointF(50.0, 9.99)) self.assertEqual(rc, True) self.assertEqual(self.mComposerPolygon.nodesSize(), 5) def testAddNodeCustomRadius(self): """Test addNode with custom radius""" # default searching radius is 10 self.assertEqual(self.mComposerPolygon.nodesSize(), 4) rc = self.mComposerPolygon.addNode(QPointF(50.0, 8.1), True, 8.0) self.assertEqual(rc, False) self.assertEqual(self.mComposerPolygon.nodesSize(), 4) # default searching radius is 10 rc = self.mComposerPolygon.addNode(QPointF(50.0, 7.9), True, 8.0) self.assertEqual(rc, True) self.assertEqual(self.mComposerPolygon.nodesSize(), 5) def testAddNodeWithoutCheckingArea(self): """Test addNode without checking the maximum distance allowed""" # default searching radius is 10 self.assertEqual(self.mComposerPolygon.nodesSize(), 4) rc = self.mComposerPolygon.addNode(QPointF(50.0, 20.0)) self.assertEqual(rc, False) self.assertEqual(self.mComposerPolygon.nodesSize(), 4) # default searching radius is 10 self.assertEqual(self.mComposerPolygon.nodesSize(), 4) rc = self.mComposerPolygon.addNode(QPointF(50.0, 20.0), False) self.assertEqual(rc, True) self.assertEqual(self.mComposerPolygon.nodesSize(), 5) checker = QgsCompositionChecker( 'composerpolygon_addnode', self.mComposition) checker.setControlPathPrefix("composer_polygon") myTestResult, myMessage = checker.testComposition() assert myTestResult, myMessage def testMoveNode(self): """Test moveNode method""" rc = self.mComposerPolygon.moveNode(30, QPointF(100.0, 300.0)) self.assertEqual(rc, False) rc = self.mComposerPolygon.moveNode(3, QPointF(100.0, 150.0)) self.assertEqual(rc, True) checker = QgsCompositionChecker( 'composerpolygon_movenode', self.mComposition) checker.setControlPathPrefix("composer_polygon") myTestResult, myMessage = checker.testComposition() assert myTestResult, myMessage def testNodeAtPosition(self): """Test nodeAtPosition method""" # default searching radius is 10 rc = self.mComposerPolygon.nodeAtPosition(QPointF(100.0, 210.0)) self.assertEqual(rc, -1) # default searching radius is 10 rc = self.mComposerPolygon.nodeAtPosition( QPointF(100.0, 210.0), False) self.assertEqual(rc, 3) # default searching radius is 10 rc = self.mComposerPolygon.nodeAtPosition( QPointF(100.0, 210.0), True, 10.1) self.assertEqual(rc, 3)