parent
6aeebf5483
commit
afcfe33442
@ -0,0 +1,59 @@ |
||||
import 'dart:convert'; |
||||
|
||||
import 'package:db_construction_site/models/connection.dart'; |
||||
import 'package:db_construction_site/models/connection_type.dart'; |
||||
import 'package:db_construction_site/models/region.dart'; |
||||
import 'package:test/test.dart'; |
||||
|
||||
void main() { |
||||
test('test if json parsing works as expected', () { |
||||
const exampleConnectionJsonString = """ |
||||
{ |
||||
"id": "3", |
||||
"name": "RE 17", |
||||
"kbnr": "430", |
||||
"von": "Warburg", |
||||
"verlauf": [ |
||||
"Hagen Hbf", |
||||
"Arnsberg (Westf)", |
||||
"Meschede", |
||||
"Warburg (Westf)", |
||||
"Hofgeismar", |
||||
"Kassel-Wilhelmshöhe" |
||||
], |
||||
"nach": "Kassel", |
||||
"via": "", |
||||
"timestamp": "2018-11-16 05:15:43", |
||||
"verfall": "2018-12-02 23:15:00", |
||||
"verbindung": "regional", |
||||
"fern_id": null, |
||||
"land": "hessen", |
||||
"url": "https://bauinfos.deutschebahn.com/hessen/Strecke/430-Warburg-Kassel/3", |
||||
"ics": "https://bauinfos.deutschebahn.com/docs/hessen/ical-hessen-430.ics", |
||||
"doc": "https://bauinfos.deutschebahn.com/docs/hessen/430.pdf", |
||||
"meldungen": [], |
||||
"infos": [] |
||||
} |
||||
"""; |
||||
Map<String, dynamic> json; |
||||
try { |
||||
json = JsonDecoder().convert(exampleConnectionJsonString); |
||||
assert(json != null); |
||||
} catch (e) { |
||||
print("JSON decoding failed, skipping test."); |
||||
return; |
||||
} |
||||
final connection = Connection.fromJson(json); |
||||
expect(connection.id, "3"); |
||||
expect(connection.name, "RE 17"); |
||||
expect(connection.courseBookNumber, "430"); |
||||
expect(connection.origin, "Warburg"); |
||||
expect(connection.stops, contains("Hagen Hbf")); |
||||
expect(connection.destination, "Kassel"); |
||||
expect(connection.via, ""); |
||||
expect(connection.timestamp, DateTime(2018, 11, 16, 05, 15, 43)); |
||||
expect(connection.expiryDate, DateTime(2018, 12, 02, 23, 15, 00)); |
||||
expect(connection.type, ConnectionType.regional); |
||||
expect(connection.region, Region.hesse); |
||||
}); |
||||
} |
Loading…
Reference in new issue