Skip to content

Commit 0beb170

Browse files
committed
Adapting longlong test to general type inference test
1 parent 532599e commit 0beb170

File tree

6 files changed

+123
-69
lines changed

6 files changed

+123
-69
lines changed

tests/src/python/test_qgsdelimitedtextprovider.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ def recordDifference( record1, record2 ):
227227
return "Field {0} differs: {1:.50} versus {2:.50}".format(k,repr(r1k),repr(r2k))
228228
for k in record2.keys():
229229
if k not in record1:
230-
return "Output contains extra field {0} is missing".format(k)
230+
return "Output contains extra field {0}".format(k)
231231
return ''
232232

233233
def runTest( file, requests, **params ):
@@ -650,9 +650,9 @@ def test_037_csvt_file_invalid_file(self):
650650
requests=None
651651
runTest(filename,requests,**params)
652652

653-
def test_038_long_type(self):
653+
def test_038_type_inference(self):
654654
# Skip lines
655-
filename='testlongs.csv'
655+
filename='testtypes.csv'
656656
params={'yField': 'lat', 'xField': 'lon', 'type': 'csv'}
657657
requests=None
658658
runTest(filename,requests,**params)

tests/src/python/test_qgsdelimitedtextprovider_wanted.py

+109-56
Original file line numberDiff line numberDiff line change
@@ -2035,36 +2035,46 @@ def test_033_reset_subset_string():
20352035
wanted['log']=[]
20362036
return wanted
20372037

2038-
20392038
def test_034_csvt_file():
20402039
wanted={}
20412040
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']
20432042
wanted['data']={
20442043
2L: {
20452044
'id': u'1',
20462045
'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',
20522056
'#fid': 2L,
20532057
'#geometry': 'None',
2054-
},
2058+
},
20552059
3L: {
20562060
'id': u'2',
20572061
'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',
20632072
'#fid': 3L,
20642073
'#geometry': 'None',
2065-
},
2066-
}
2067-
wanted['log']=[]
2074+
},
2075+
}
2076+
wanted['log']=[
2077+
]
20682078
return wanted
20692079

20702080

@@ -2166,53 +2176,96 @@ def test_037_csvt_file_invalid_file():
21662176
wanted['log']=[]
21672177
return wanted
21682178

2169-
def test_038_long_type():
2179+
def test_038_type_inference():
21702180
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']
21752183
wanted['data']={
21762184
2L: {
2177-
'id': u'9189304972279762602',
2178-
'a_long': u'9189304972279762602',
2185+
'id': u'line1',
2186+
'description': u'1.0',
21792187
'lon': u'1.0',
21802188
'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+
},
21862198
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',
21992201
'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+
},
22062226
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',
22102230
'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+
]
22182271
return wanted
+3-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
id,description,f1,f2,f3,f4,f5
2-
1,Test csvt 1,1,1.2,01,text,times
3-
2,Test csvt 2,3,1.5,99,23.5,80
4-
1+
id,description,fint,freal,fstr,fstr,fdatetime,fdate,ftime,flong,flonglong
2+
1,Test csvt 1,1,1.2,1,text,2015-03-02T12:30:00,2014-12-30,23:55,-456,-678
3+
2,Test csvt 2,3,1.5,99,23.5,80,2015-03-28,2014-12-30,01:55,9189304972279762602,-3123724580211819352
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
integer,string,integer,real,string,string,datetime
1+
integer,string,integer,real,string,string,datetime,date,time,long,longlong

tests/testdata/delimitedtext/testlongs.csv

-5
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
id,lon,lat,empty,text,int,longlong,real,text2
2+
line1,1.0,1.0,,,0,0,,1
3+
line2,1.0,5.0,,1,,9189304972279762602,1.3,-4
4+
line3,5.0,5.0,,1xx,2,345,2,1x
5+
line4,5.0,1.0,,A string,-3456,-3123724580211819352,-123.56,,
6+
line5,3.0,1.0,,,,,23e-5,23
7+
line6,1.0,3.0,,1.5,9,42,99,0

0 commit comments

Comments
 (0)