diff options
author | Daniel Friesel <derf@finalrewind.org> | 2011-07-13 16:03:00 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2011-07-13 16:03:00 +0200 |
commit | 54943f4f6ec0db570f8fe57fb28a5e3ea6472dc8 (patch) | |
tree | ac81b3fb995cbbdddb1017ad10b0576ee36d77e8 | |
parent | 91a31f674b366d4e86a6bfae12c0922c396a7df1 (diff) |
DeutscheBahn/Result: route_interesting adjustment, add tests for it
-rw-r--r-- | lib/Travel/Status/DE/DeutscheBahn/Result.pm | 4 | ||||
-rw-r--r-- | t/20-db.t | 14 |
2 files changed, 17 insertions, 1 deletions
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); } @@ -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'); |