Skip to content

Commit 8c2e5ec

Browse files
committed
Update tests to check field types
1 parent 3e69819 commit 8c2e5ec

File tree

2 files changed

+33
-56
lines changed

2 files changed

+33
-56
lines changed

mapscript/python/tests/cases/layer_test.py

+15-42
Original file line numberDiff line numberDiff line change
@@ -68,63 +68,36 @@ def setUp(self):
6868
def tearDown(self):
6969
self.layer.close()
7070

71-
def testLayerGetItemDefinition(self):
71+
def testLayerGetItemType(self):
7272
"""test getting layer item information for the first item"""
7373

74-
gml_item = self.layer.getItemDefinition(0)
75-
assert gml_item.name == "FID"
76-
assert gml_item.type == "Integer"
77-
assert gml_item.alias is None
78-
assert gml_item.encode == 1
79-
assert gml_item.minOccurs == 0
80-
assert gml_item.outputByDefault == 1
81-
assert gml_item.precision == 0
82-
assert gml_item.template is None
83-
assert gml_item.visible == 0
84-
assert gml_item.width == 10
74+
item_type = self.layer.getItemType(0)
75+
assert item_type == "Integer"
8576

8677
def testLayerGetItemDefinition2(self):
8778
"""test getting layer item information for the second item"""
8879

89-
gml_item = self.layer.getItemDefinition(1)
90-
assert gml_item.name == "FNAME"
91-
assert gml_item.type == "Character"
92-
assert gml_item.alias is None
93-
assert gml_item.encode == 1
94-
assert gml_item.minOccurs == 0
95-
assert gml_item.outputByDefault == 1
96-
assert gml_item.precision == 0
97-
assert gml_item.template is None
98-
assert gml_item.visible == 0
99-
assert gml_item.width == 10
100-
101-
def testLayerGetMissingItemDefinition(self):
80+
item_type = self.layer.getItemType(1)
81+
assert item_type == "Character"
82+
83+
def testLayerGetMissingItemType(self):
10284
"""test getting item information for a non-existent index"""
103-
gml_item = self.layer.getItemDefinition(100)
104-
assert gml_item is None
85+
item_type = self.layer.getItemType(100)
86+
assert item_type is None
10587

106-
def testLayerGetItemDefinitionClosedLayer(self):
88+
def testLayerGetItemTypeClosedLayer(self):
10789
"""item definition will be None for a closed layer"""
10890
self.layer.close()
109-
gml_item = self.layer.getItemDefinition(0)
110-
assert gml_item is None
91+
item_type = self.layer.getItemType(0)
92+
assert item_type is None
11193

112-
def testLayerGetNonDefinedItemDefinition(self):
94+
def testLayerGetNonDefinedItemType(self):
11395
"""test getting layer item information for a layer with gml_types auto"""
11496

11597
layer = self.map.getLayerByName('POLYGON')
11698
layer.open()
117-
gml_item = layer.getItemDefinition(0)
118-
assert gml_item.name == "FID"
119-
assert gml_item.type is None
120-
assert gml_item.alias is None
121-
assert gml_item.encode == 1
122-
assert gml_item.minOccurs == 0
123-
assert gml_item.outputByDefault == 1
124-
assert gml_item.precision == 0
125-
assert gml_item.template is None
126-
assert gml_item.visible == 0
127-
assert gml_item.width == 0
99+
item_type = layer.getItemType(0)
100+
assert item_type == ""
128101
layer.close()
129102

130103

mapscript/python/tests/cases/shape_test.py

+18-14
Original file line numberDiff line numberDiff line change
@@ -88,12 +88,12 @@ def testGetNumFeatures(self):
8888

8989
def testShapeGeoInterface(self):
9090
"""return the shape using the __geo_interface__ protocol with no attribute names"""
91-
inline_layer = self.map.getLayerByName('POLYGON')
92-
inline_layer.open()
93-
inline_layer.template = "FAKE"
94-
inline_layer.queryByIndex(self.map, -1, 0)
95-
res = inline_layer.getResult(0)
96-
s = inline_layer.getShape(res)
91+
layer = self.map.getLayerByName('POLYGON')
92+
layer.open()
93+
layer.template = "FAKE"
94+
layer.queryByIndex(self.map, -1, 0)
95+
res = layer.getResult(0)
96+
s = layer.getShape(res)
9797
assert s.__geo_interface__ == {
9898
'geometry': {
9999
'type': 'Polygon',
@@ -105,15 +105,17 @@ def testShapeGeoInterface(self):
105105
'properties': {'1': 'A Polygon', '0': '1'}
106106
}
107107

108+
layer.close()
109+
108110
def testShapeGeoInterfaceWithFields(self):
109111
"""return the shape using the __geo_interface__ protocol with attribute names"""
110-
inline_layer = self.map.getLayerByName('POLYGON')
111-
inline_layer.open()
112-
inline_layer.template = "FAKE"
113-
inline_layer.queryByIndex(self.map, -1, 0)
114-
res = inline_layer.getResult(0)
115-
s = inline_layer.getShape(res)
116-
s.attributes = inline_layer.getAttributes()
112+
layer = self.map.getLayerByName('POINT')
113+
layer.open()
114+
layer.template = "FAKE"
115+
layer.queryByIndex(self.map, -1, 0)
116+
res = layer.getResult(0)
117+
s = layer.getShape(res)
118+
s.itemdefinitions = layer.getItemDefinitions()
117119
assert s.__geo_interface__ == {
118120
'geometry': {
119121
'type': 'Polygon',
@@ -122,9 +124,11 @@ def testShapeGeoInterfaceWithFields(self):
122124
},
123125
'type': 'Feature',
124126
'bbox': (-0.25, 51.227222, 0.25, 51.727222),
125-
'properties': {'FNAME': 'A Polygon', 'FID': '1'}
127+
'properties': {'FNAME': 'A Point', 'FID': 1}
126128
}
127129

130+
layer.close()
131+
128132

129133
class ShapeValuesTestCase(unittest.TestCase):
130134

0 commit comments

Comments
 (0)