@@ -2035,36 +2035,46 @@ def test_033_reset_subset_string():
2035
2035
wanted ['log' ]= []
2036
2036
return wanted
2037
2037
2038
-
2039
2038
def test_034_csvt_file ():
2040
2039
wanted = {}
2041
2040
wanted ['uri' ]= u'file://testcsvt.csv?geomType=none&type=csv'
2042
- wanted ['fieldTypes' ]= ['integer' , 'text' , 'integer' , 'double' , 'text' , 'text' , 'text' ]
2041
+ wanted ['fieldTypes' ]= ['integer' , 'text' , 'integer' , 'double' , 'text' , 'text' , 'text' , 'text' , 'text' , 'text' , 'longlong' , 'longlong' ]
2043
2042
wanted ['data' ]= {
2044
2043
2L : {
2045
2044
'id' : u'1' ,
2046
2045
'description' : u'Test csvt 1' ,
2047
- 'f1' : u'1' ,
2048
- 'f2' : u'1.2' ,
2049
- 'f3' : u'01' ,
2050
- 'f4' : u'text' ,
2051
- 'f5' : u'times' ,
2046
+ 'fint' : u'1' ,
2047
+ 'freal' : u'1.2' ,
2048
+ 'fstr' : u'1' ,
2049
+ 'fstr_1' : u'text' ,
2050
+ 'fdatetime' : u'2015-03-02T12:30:00' ,
2051
+ 'fdate' : u'2014-12-30' ,
2052
+ 'ftime' : u'23:55' ,
2053
+ 'flong' : u'-456' ,
2054
+ 'flonglong' : u'-678' ,
2055
+ 'field_12' : u'NULL' ,
2052
2056
'#fid' : 2L ,
2053
2057
'#geometry' : 'None' ,
2054
- },
2058
+ },
2055
2059
3L : {
2056
2060
'id' : u'2' ,
2057
2061
'description' : u'Test csvt 2' ,
2058
- 'f1' : u'3' ,
2059
- 'f2' : u'1.5' ,
2060
- 'f3' : u'99' ,
2061
- 'f4' : u'23.5' ,
2062
- 'f5' : u'80' ,
2062
+ 'fint' : u'3' ,
2063
+ 'freal' : u'1.5' ,
2064
+ 'fstr' : u'99' ,
2065
+ 'fstr_1' : u'23.5' ,
2066
+ 'fdatetime' : u'80' ,
2067
+ 'fdate' : u'2015-03-28' ,
2068
+ 'ftime' : u'2014-12-30' ,
2069
+ 'flong' : u'01:55' ,
2070
+ 'flonglong' : u'9189304972279762602' ,
2071
+ 'field_12' : u'-3123724580211819352' ,
2063
2072
'#fid' : 3L ,
2064
2073
'#geometry' : 'None' ,
2065
- },
2066
- }
2067
- wanted ['log' ]= []
2074
+ },
2075
+ }
2076
+ wanted ['log' ]= [
2077
+ ]
2068
2078
return wanted
2069
2079
2070
2080
@@ -2166,53 +2176,96 @@ def test_037_csvt_file_invalid_file():
2166
2176
wanted ['log' ]= []
2167
2177
return wanted
2168
2178
2169
- def test_038_long_type ():
2179
+ def test_038_type_inference ():
2170
2180
wanted = {}
2171
- filename = "testlongs.csv"
2172
- wanted ['uri' ]= u'file://{}?yField={}&xField={}&type={}' .format (filename ,"lat" ,"lon" ,"csv" )
2173
- wanted ['fieldTypes' ]= ['longlong' , 'text' , 'double' , 'double' , 'integer' ]
2174
- # long is casted as longlong because of QVariant limitation
2181
+ wanted ['uri' ]= u'file://testtypes.csv?yField=lat&xField=lon&type=csv'
2182
+ wanted ['fieldTypes' ]= ['text' , 'double' , 'double' , 'text' , 'text' , 'integer' , 'longlong' , 'double' , 'text' ]
2175
2183
wanted ['data' ]= {
2176
2184
2L : {
2177
- 'id' : u'9189304972279762602 ' ,
2178
- 'a_long ' : u'9189304972279762602 ' ,
2185
+ 'id' : u'line1 ' ,
2186
+ 'description ' : u'1.0 ' ,
2179
2187
'lon' : u'1.0' ,
2180
2188
'lat' : u'1.0' ,
2181
- 'an_integer' : u'40' ,
2182
- '#geometry' : 'POINT(1.0 1.0)' ,
2183
- '#fid' :2L ,
2184
- 'description' : 'line1'
2185
- },
2189
+ 'empty' : u'NULL' ,
2190
+ 'text' : u'NULL' ,
2191
+ 'int' : u'0' ,
2192
+ 'longlong' : u'0' ,
2193
+ 'real' : u'NULL' ,
2194
+ 'text2' : u'1' ,
2195
+ '#fid' : 2L ,
2196
+ '#geometry' : 'POINT(1 1)' ,
2197
+ },
2186
2198
3L : {
2187
- 'id' : u'9189304972279762602' ,
2188
- 'a_long' : u'9189304972279762602' ,
2189
- 'lon' : u'2.2' ,
2190
- 'lat' : u'2.5' ,
2191
- 'an_integer' : u'5' ,
2192
- '#geometry' : 'POINT(2.2 2.5)' ,
2193
- '#fid' :3L ,
2194
- 'description' : 'line2'
2195
- },
2196
- 4L : {
2197
- 'id' : u'-3123724580211819352' ,
2198
- 'a_long' : u'-3123724580211819352' ,
2199
+ 'id' : u'line2' ,
2200
+ 'description' : u'1.0' ,
2199
2201
'lon' : u'1.0' ,
2200
- 'lat' : u'1.0' ,
2201
- 'an_integer' : u'7' ,
2202
- '#geometry' : 'POINT(1.0 1.0)' ,
2203
- '#fid' :4L ,
2204
- 'description' : 'line3'
2205
- },
2202
+ 'lat' : u'5.0' ,
2203
+ 'empty' : u'NULL' ,
2204
+ 'text' : u'1' ,
2205
+ 'int' : u'NULL' ,
2206
+ 'longlong' : u'9189304972279762602' ,
2207
+ 'real' : u'1.3' ,
2208
+ 'text2' : u'-4' ,
2209
+ '#fid' : 3L ,
2210
+ '#geometry' : 'POINT(1 5)' ,
2211
+ },
2212
+ 4L : {
2213
+ 'id' : u'line3' ,
2214
+ 'description' : u'5.0' ,
2215
+ 'lon' : u'5.0' ,
2216
+ 'lat' : u'5.0' ,
2217
+ 'empty' : u'NULL' ,
2218
+ 'text' : u'1xx' ,
2219
+ 'int' : u'2' ,
2220
+ 'longlong' : u'345' ,
2221
+ 'real' : u'2.0' ,
2222
+ 'text2' : u'1x' ,
2223
+ '#fid' : 4L ,
2224
+ '#geometry' : 'POINT(5 5)' ,
2225
+ },
2206
2226
5L : {
2207
- 'id' : u'-3 ' ,
2208
- 'a_long ' : u'-3 ' ,
2209
- 'lon' : u'1 .0' ,
2227
+ 'id' : u'line4 ' ,
2228
+ 'description ' : u'5.0 ' ,
2229
+ 'lon' : u'5 .0' ,
2210
2230
'lat' : u'1.0' ,
2211
- 'an_integer' : u'7' ,
2212
- '#geometry' : 'POINT(1.0 1.0)' ,
2213
- '#fid' :5L ,
2214
- 'description' : 'line4'
2215
- }
2216
- }
2217
- wanted ['log' ]= []
2231
+ 'empty' : u'NULL' ,
2232
+ 'text' : u'A string' ,
2233
+ 'int' : u'-3456' ,
2234
+ 'longlong' : u'-3123724580211819352' ,
2235
+ 'real' : u'-123.56' ,
2236
+ 'text2' : u'NULL' ,
2237
+ '#fid' : 5L ,
2238
+ '#geometry' : 'POINT(5 1)' ,
2239
+ },
2240
+ 6L : {
2241
+ 'id' : u'line5' ,
2242
+ 'description' : u'3.0' ,
2243
+ 'lon' : u'3.0' ,
2244
+ 'lat' : u'1.0' ,
2245
+ 'empty' : u'NULL' ,
2246
+ 'text' : u'NULL' ,
2247
+ 'int' : u'NULL' ,
2248
+ 'longlong' : u'NULL' ,
2249
+ 'real' : u'0.00023' ,
2250
+ 'text2' : u'23' ,
2251
+ '#fid' : 6L ,
2252
+ '#geometry' : 'POINT(3 1)' ,
2253
+ },
2254
+ 7L : {
2255
+ 'id' : u'line6' ,
2256
+ 'description' : u'1.0' ,
2257
+ 'lon' : u'1.0' ,
2258
+ 'lat' : u'3.0' ,
2259
+ 'empty' : u'NULL' ,
2260
+ 'text' : u'1.5' ,
2261
+ 'int' : u'9' ,
2262
+ 'longlong' : u'42' ,
2263
+ 'real' : u'99.0' ,
2264
+ 'text2' : u'0' ,
2265
+ '#fid' : 7L ,
2266
+ '#geometry' : 'POINT(1 3)' ,
2267
+ },
2268
+ }
2269
+ wanted ['log' ]= [
2270
+ ]
2218
2271
return wanted
0 commit comments