|
1 | 1 | using Test
|
2 | 2 | import ArchGDAL as AG
|
3 | 3 | import GeoInterface as GI
|
| 4 | +using FixedPointNumbers |
4 | 5 |
|
5 | 6 | @enum MyEnum::Bool begin
|
6 | 7 | MyEnumValue = false
|
|
264 | 265 | AG.setsubtype!(fielddefn, AG.OFSTBoolean)
|
265 | 266 | return AG.addfielddefn!(layer, fielddefn)
|
266 | 267 | end
|
| 268 | + AG.createfielddefn("fixedpointfield", AG.OFTReal) do fielddefn |
| 269 | + return AG.addfielddefn!(layer, fielddefn) |
| 270 | + end |
| 271 | + AG.createfielddefn("customintfield", AG.OFTInteger64) do fielddefn |
| 272 | + return AG.addfielddefn!(layer, fielddefn) |
| 273 | + end |
267 | 274 | AG.createfeature(layer) do feature
|
268 | 275 | geojsonstring = "{ \"type\": \"Polygon\", \"coordinates\": [ [ [ 4, 44 ], [ 5, 44 ], [ 5, 45 ], [ 4, 45 ], [ 4, 44 ] ] ] }"
|
269 | 276 | AG.setfield!(feature, 0, Int64(1))
|
|
285 | 292 | AG.setfield!(feature, 16, UInt16(1.0))
|
286 | 293 | AG.setfield!(feature, 17, UInt32(1.0))
|
287 | 294 | AG.setfield!(feature, 18, MyEnumValue)
|
| 295 | + AG.setfield!(feature, 19, N0f16(1.0)) |
| 296 | + AG.setfield!(feature, 20, CustomInt(1)) |
288 | 297 | for i in 1:AG.nfield(feature)
|
289 | 298 | @test !AG.isfieldnull(feature, i - 1)
|
290 | 299 | @test AG.isfieldsetandnotnull(feature, i - 1)
|
|
305 | 314 | @test AG.getfield(feature, 16) === Int32(1) # Widened from UInt16
|
306 | 315 | @test AG.getfield(feature, 17) === Int64(1) # Widened from UInt32
|
307 | 316 | @test AG.getfield(feature, 18) === false # Enum is lost
|
| 317 | + @test AG.getfield(feature, 19) === 1.0 # FixedPointNumber is lost |
| 318 | + @test AG.getfield(feature, 20) === 1 # CustomInt is lost |
308 | 319 |
|
309 | 320 | AG.addfeature(layer) do newfeature
|
310 | 321 | AG.setfrom!(newfeature, feature)
|
|
0 commit comments