⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 layertest.py

📁 Welcome to MS4W, the no fuss installer for setting up MapServer on Microsoft Windows platforms. The
💻 PY
📖 第 1 页 / 共 2 页
字号:
    def testGetLayerOrder(self):        """LayerTestCase.testGetLayerOrder: get layer drawing order"""        order = self.map.getLayerOrder()        assert order == tuple(range(7)), order    def testSetLayerOrder(self):        """LayerTestCase.testSetLayerOrder: set layer drawing order"""        ord = (1, 0, 2, 3, 4, 5, 6)        self.map.setLayerOrder(ord)        order = self.map.getLayerOrder()        assert order == ord, order# Layer removal testsclass RemoveLayerTestCase(MapTestCase):        def testRemoveLayer1NumLayers(self):        """removing the first layer by index from the mapfile leaves three"""        self.map.removeLayer(0)        assert self.map.numlayers == 6        def testRemoveLayer1LayerName(self):        """removing first layer reverts it to the second layer's name"""        l2name = self.map.getLayer(1).name        self.map.removeLayer(0)        assert self.map.getLayer(0).name == l2name        def testRemoveLayer2NumLayers(self):        """removing second layer by index from mapfile leaves three layers"""        self.map.removeLayer(1)        assert self.map.numlayers == 6        def testRemoveLayer2LayerName(self):        """removing of the second layer reverts it to the first layer's name"""        l1name = self.map.getLayer(0).name        self.map.removeLayer(1)        assert self.map.getLayer(0).name == l1nameclass ExpressionTestCase(MapLayerTestCase):        def testClearExpression(self):        """layer expression can be properly cleared"""        self.layer.setFilter('')        fs = self.layer.getFilterString()        assert fs == '"(null)"', fs        def testSetStringExpression(self):        """layer expression can be set to string"""        self.layer.setFilter('foo')        fs = self.layer.getFilterString()        assert fs == '"foo"', fs        def testSetQuotedStringExpression(self):        """layer expression string can be quoted"""        self.layer.setFilter('"foo"')        fs = self.layer.getFilterString()        assert fs == '"foo"', fs        def testSetRegularExpression(self):        """layer expression can be regular expression"""        self.layer.setFilter('/foo/')        fs = self.layer.getFilterString()        assert fs == '/foo/', fs        def testSetLogicalExpression(self):        """layer expression can be logical expression"""        self.layer.setFilter('([foo] >= 2)')        fs = self.layer.getFilterString()        assert fs == '([foo] >= 2)', fs       class LayerQueryTestCase(MapLayerTestCase):    def setUp(self):        MapLayerTestCase.setUp(self)        self.layer = self.map.getLayerByName('POINT')        self.layer.template = 'foo'class SpatialLayerQueryTestCase(LayerQueryTestCase):    def testRectQuery(self):        qrect = mapscript.rectObj(-10.0, 45.0, 10.0, 55.0)        self.layer.queryByRect(self.map, qrect)        assert self.layer.getNumResults() == 1    def testShapeQuery(self):        qrect = mapscript.rectObj(-10.0, 45.0, 10.0, 55.0)        qshape = qrect.toPolygon()        self.layer.queryByShape(self.map, qshape)        assert self.layer.getNumResults() == 1    def testPointQuery(self):        qpoint = mapscript.pointObj(0.0, 51.5)        self.layer.queryByPoint(self.map, qpoint, mapscript.MS_MULTIPLE, 2.0)        assert self.layer.getNumResults() == 1       def testRectQueryNoResults(self):        qrect = mapscript.rectObj(-101.0, 0.0, -100.0, 1.0)        self.layer.queryByRect(self.map, qrect)        assert self.layer.getNumResults() == 0    def testShapeQueryNoResults(self):        qrect = mapscript.rectObj(-101.0, 0.0, -100.0, 1.0)        qshape = qrect.toPolygon()        self.layer.queryByShape(self.map, qshape)        assert self.layer.getNumResults() == 0    def testPointQueryNoResults(self):        qpoint = mapscript.pointObj(-100.0, 51.5)        self.layer.queryByPoint(self.map, qpoint, mapscript.MS_MULTIPLE, 2.0)        assert self.layer.getNumResults() == 0    class AttributeLayerQueryTestCase(LayerQueryTestCase):    def testAttributeQuery(self):        self.layer.queryByAttributes(self.map, "FNAME", '"A Point"',                                     mapscript.MS_MULTIPLE)        assert self.layer.getNumResults() == 1    def testLogicalAttributeQuery(self):        self.layer.queryByAttributes(self.map, None, '("[FNAME]" == "A Point")',                                     mapscript.MS_MULTIPLE)        assert self.layer.getNumResults() == 1    def testAttributeQueryNoResults(self):        self.layer.queryByAttributes(self.map, "FNAME", '"Bogus Point"',                                     mapscript.MS_MULTIPLE)        assert self.layer.getNumResults() == 0class LayerVisibilityTestCase(MapLayerTestCase):        def setUp(self):        MapLayerTestCase.setUp(self)        self.layer.minscale = 1000        self.layer.maxscale = 2000        self.layer.status = mapscript.MS_ON        self.map.zoomScale(1500, mapscript.pointObj(100,100), 200, 200, self.map.extent, None)        def testInitialVisibility(self):        """expect visibility"""        assert self.layer.isVisible() == mapscript.MS_TRUE    def testStatusOffVisibility(self):        """expect false visibility after switching status off"""        self.layer.status = mapscript.MS_OFF        assert self.layer.isVisible() == mapscript.MS_FALSE    def testZoomOutVisibility(self):        """expect false visibility after zooming out beyond maximum"""        self.map.zoomScale(2500, mapscript.pointObj(100,100), 200, 200, self.map.extent, None)        assert self.layer.isVisible() == mapscript.MS_FALSE       from random import randomclass InlineLayerTestCase(unittest.TestCase):    def setUp(self):        # Inline feature layer        self.ilayer = mapscript.layerObj()        self.ilayer.type = mapscript.MS_LAYER_POLYGON        self.ilayer.status = mapscript.MS_DEFAULT        self.ilayer.connectiontype = mapscript.MS_INLINE        cs = 'f7fcfd,e5f5f9,ccece6,99d8c9,66c2a4,41ae76,238b45,006d2c,00441b'        colors = ['#' + h for h in cs.split(',')]        #print colors                for i in range(9):            # Make a class for feature            ci = self.ilayer.insertClass(mapscript.classObj())            co = self.ilayer.getClass(ci)            si = co.insertStyle(mapscript.styleObj())            so = co.getStyle(si)            so.color.setHex(colors[i])            co.label.color.setHex('#000000')            co.label.outlinecolor.setHex('#FFFFFF')            co.label.type = mapscript.MS_BITMAP            co.label.size = mapscript.MS_SMALL                        # The shape to add is randomly generated            xc = 4.0*(random() - 0.5)            yc = 4.0*(random() - 0.5)            r = mapscript.rectObj(xc-0.25, yc-0.25, xc+0.25, yc+0.25)            s = r.toPolygon()                        # Classify            s.classindex = i            s.text = "F%d" % (i)                        # Add to inline feature layer            self.ilayer.addFeature(s)    def testExternalClassification(self):        mo = mapscript.mapObj()        mo.setSize(400, 400)        mo.setExtent(-2.5, -2.5, 2.5, 2.5)        mo.selectOutputFormat('image/png')        mo.insertLayer(self.ilayer)        im = mo.draw()        im.save('testExternalClassification.png')# ===========================================================================# Run the tests outside of the main suiteif __name__ == '__main__':    unittest.main()    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -