| 1 | use strict; |
|---|
| 2 | use warnings; |
|---|
| 3 | use Test::Declare; |
|---|
| 4 | plan tests => blocks; |
|---|
| 5 | use WWW::JMA::Earthquake; |
|---|
| 6 | |
|---|
| 7 | describe 'instance tests' => run { |
|---|
| 8 | my $wje = WWW::JMA::Earthquake->new(); |
|---|
| 9 | init { |
|---|
| 10 | $wje->parse_info; |
|---|
| 11 | }; |
|---|
| 12 | |
|---|
| 13 | test 'データが持ってこれてるかテスト' => run { |
|---|
| 14 | isa_ok( $wje, |
|---|
| 15 | 'WWW::JMA::Earthquake', |
|---|
| 16 | 'load WWW::JMA::Earthquake test'); |
|---|
| 17 | my $data = $wje->get_info(); |
|---|
| 18 | isnt('',$data->{year}, '気象庁発表 年情報 取得'); |
|---|
| 19 | isnt('',$data->{month}, '気象庁発表 月情報 取得'); |
|---|
| 20 | isnt('',$data->{i_day}, '気象庁発表 日付情報 取得'); |
|---|
| 21 | isnt('',$data->{i_hour}, '気象庁発表 時間 情報 取得'); |
|---|
| 22 | isnt('',$data->{i_min}, '気象庁発表 分情報 取得'); |
|---|
| 23 | |
|---|
| 24 | isnt('',$data->{a_day}, '地震発生 日付情報 取得'); |
|---|
| 25 | isnt('',$data->{a_hour}, '地震発生 時間情報 取得'); |
|---|
| 26 | isnt('',$data->{a_min}, '地震発生 分情報 取得'); |
|---|
| 27 | |
|---|
| 28 | SKIP : { |
|---|
| 29 | skip q{震源が絞れてない時がある場合はスキップ!} , 1 |
|---|
| 30 | if !defined $data->{area}; |
|---|
| 31 | isnt('',$data->{area}, '地震発生 震源情報 取得'); |
|---|
| 32 | }; |
|---|
| 33 | |
|---|
| 34 | SKIP : { |
|---|
| 35 | skip q{マグニチュード情報が発表されてない場合はスキップ!} , 1 |
|---|
| 36 | if !defined $data->{magnitude}; |
|---|
| 37 | isnt('',$data->{magnitude}, 'マグニチュード情報 取得'); |
|---|
| 38 | }; |
|---|
| 39 | SKIP : { |
|---|
| 40 | skip q{最大震度情報が発表されてない場合はスキップ!} , 1 |
|---|
| 41 | if !defined $data->{shindo}; |
|---|
| 42 | isnt('',$data->{shindo},'最大震度情報 取得'); |
|---|
| 43 | }; |
|---|
| 44 | |
|---|
| 45 | isnt('',$data->{discription},'地震情報 テキスト取得'); |
|---|
| 46 | isnt('',$data->{fullintext},'地震情報 各地域震度情報'); |
|---|
| 47 | |
|---|
| 48 | }; |
|---|
| 49 | |
|---|
| 50 | cleanup { |
|---|
| 51 | $wje = undef; |
|---|
| 52 | }; |
|---|
| 53 | }; |
|---|
| 54 | |
|---|
| 55 | 1; |
|---|