From 0a1dc4ca722dc6713081c9de9b0c76c67438973d Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Fri, 17 Jan 2014 11:42:48 +0100 Subject: add ::Stations test --- t/21-iris-stations.t | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 t/21-iris-stations.t (limited to 't') diff --git a/t/21-iris-stations.t b/t/21-iris-stations.t new file mode 100644 index 0000000..178fa23 --- /dev/null +++ b/t/21-iris-stations.t @@ -0,0 +1,60 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use 5.014; + +use DateTime; +use Test::More tests => 10; + +BEGIN { + use_ok('Travel::Status::DE::IRIS::Stations'); +} +require_ok('Travel::Status::DE::IRIS::Stations'); + +is_deeply( + [], + [ Travel::Status::DE::IRIS::Stations::get_station('doesnotexist') ], + 'get_station: returns empty list for no match' +); + +is_deeply( + [ [ 'EE', 'Essen Hbf' ] ], + [ Travel::Status::DE::IRIS::Stations::get_station('EE') ], + 'get_station: exact match by DS100 works' +); + +is_deeply( + [ [ 'EE', 'Essen Hbf' ] ], + [ Travel::Status::DE::IRIS::Stations::get_station('Essen Hbf') ], + 'get_station: exact match by name works' +); + +is_deeply( + [ [ 'EE', 'Essen Hbf' ] ], + [ Travel::Status::DE::IRIS::Stations::get_station('essen hbf') ], + 'get_station: exact match by name is case insensitive' +); + +is_deeply( + [ [ 'EEST', 'Essen-Steele' ] ], + [ Travel::Status::DE::IRIS::Stations::get_station('Essen-Steele') ], + 'get_station: exact match by name works by shortest prefix' +); + +is_deeply( + [ [ 'EEST', 'Essen-Steele' ] ], + [ Travel::Status::DE::IRIS::Stations::get_station('essen-steele') ], + 'get_station: exact match by name (shortest prefix) is case insensitive' +); + +is_deeply( + [ [ 'EG', 'Gelsenk Hbf' ], [ 'EGZO', 'Gelsenk Zoo' ] ], + [ Travel::Status::DE::IRIS::Stations::get_station('Gelsenk') ], + 'get_station: partial match by name works' +); + +is_deeply( + [ [ 'EG', 'Gelsenk Hbf' ], [ 'EGZO', 'Gelsenk Zoo' ] ], + [ Travel::Status::DE::IRIS::Stations::get_station('gelsenk') ], + 'get_station: partial match by name is case insensitive' +); -- cgit v1.2.3