From b13120a37263f1a8719a8748c53ee219f8ccfa71 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Fri, 17 Jan 2014 15:57:27 +0100 Subject: add IRIS constructor tests --- t/30-iris-const.t | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 t/30-iris-const.t (limited to 't/30-iris-const.t') diff --git a/t/30-iris-const.t b/t/30-iris-const.t new file mode 100644 index 0000000..e82b59c --- /dev/null +++ b/t/30-iris-const.t @@ -0,0 +1,66 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use 5.014; + +use DateTime; +use Test::More tests => 4; +use Test::Fatal; + +use Travel::Status::DE::IRIS; + +my $status = Travel::Status::DE::IRIS->new( + iris_base => 'file:t/in', + station => 'EE', + datetime => DateTime->new( + year => 2014, + month => 1, + day => 3, + hour => 20, + minute => 1, + time_zone => 'Europe/Berlin' + ) +); + +is( $status->errstr, undef, 'constructor with data for everything' ); + +$status = Travel::Status::DE::IRIS->new( + iris_base => 'file:t/in', + station => 'EE', + datetime => DateTime->new( + year => 2014, + month => 1, + day => 3, + hour => 19, + minute => 1, + time_zone => 'Europe/Berlin' + ) +); + +ok( defined $status->errstr, 'constructor with missing data has errstr' ); + +$status = Travel::Status::DE::IRIS->new( + iris_base => 'file:t/in', + station => 'EBILP', + datetime => DateTime->new( + year => 2014, + month => 1, + day => 3, + hour => 20, + minute => 1, + time_zone => 'Europe/Berlin' + ) +); + +like( + $status->errstr, + qr{no associated timetable}, + 'constructor with bad station has errstr' +); + +ok( + exception { + $status = Travel::Status::DE::IRIS->new( iris_base => 'file:t/in' ); + }, + 'station parameter is mandatory -> code dies if missing' +); -- cgit v1.2.3