From 54943f4f6ec0db570f8fe57fb28a5e3ea6472dc8 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Wed, 13 Jul 2011 16:03:00 +0200 Subject: DeutscheBahn/Result: route_interesting adjustment, add tests for it --- lib/Travel/Status/DE/DeutscheBahn/Result.pm | 4 ++++ t/20-db.t | 14 +++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/Travel/Status/DE/DeutscheBahn/Result.pm b/lib/Travel/Status/DE/DeutscheBahn/Result.pm index 79cf5d4..a474f8a 100644 --- a/lib/Travel/Status/DE/DeutscheBahn/Result.pm +++ b/lib/Travel/Status/DE/DeutscheBahn/Result.pm @@ -79,6 +79,10 @@ sub route_interesting { } $last_stop = pop(@via); + if ( @via_main and $via_main[-1] eq $last_stop ) { + pop(@via_main); + } + if ( @via_main and @via and $via[0] eq $via_main[0] ) { shift(@via_main); } diff --git a/t/20-db.t b/t/20-db.t index 118c6cc..1429024 100644 --- a/t/20-db.t +++ b/t/20-db.t @@ -4,7 +4,7 @@ use warnings; use 5.010; use File::Slurp qw(slurp); -use Test::More tests => 90; +use Test::More tests => 93; BEGIN { use_ok('Travel::Status::DE::DeutscheBahn'); @@ -44,3 +44,15 @@ is_deeply([$departures[8]->route], ['Essen-Borbeck', 'Bottrop Hbf', 'Gladbeck West', 'Gladbeck-Zweckel', 'Feldhausen', 'Dorsten', 'Hervest-Dorsten', 'Deuten', 'Rhade', 'Marbeck-Heiden', 'Borken(Westf)'], '9th result: route ok'); + +is_deeply([$departures[5]->route_interesting(3)], + ['Essen-Steele', 'Essen-Steele Ost', 'Bochum'], + '6th result: route_interesting(3) ok'); + +is_deeply([$departures[7]->route_interesting(3)], + ['Wattenscheid', 'Bochum', 'Dortmund'], + '8th result: route_interesting(3) ok'); + +is_deeply([$departures[10]->route_interesting(5)], + [qw[Wattenscheid Bochum Witten Hagen]], + '11th result: route_interesting(5) ok'); -- cgit v1.2.3