2014-06-30 20:38:48 -07:00
#!/usr/bin/env perl
use strict ;
use warnings ;
use Test::More ;
use DDG::Test::Goodie ;
use utf8 ;
zci answer_type = > 'convertlatlon' ;
zci is_cached = > 1 ;
ddg_goodie_test (
[ qw(
2014-07-04 20:51:17 -07:00
DDG::Goodie:: ConvertLatLon
2014-06-30 20:38:48 -07:00
) ] ,
2014-07-04 20:51:17 -07:00
#Primary example
2014-06-30 20:38:48 -07:00
'71° 10\' 3" in decimal' = > test_zci ( '71.1675°' , html = > qr/71\.1675/ ) ,
2014-07-04 20:51:17 -07:00
#Secondary examples
2014-07-05 00:20:26 -07:00
'71 degrees 10 minutes 3 seconds east in decimal' = > test_zci ( '71.1675° E' , html = > qr/71\.1675.+E/ ) ,
2014-07-04 22:00:59 -07:00
'- 16º 30\' 0" - 68º 9\' 0" as decimal' = > test_zci ( '− 16.5° − 68.15°' , html = > qr/−16\.5.+−68\.15/ ) ,
2014-06-30 20:38:48 -07:00
2014-07-04 20:51:17 -07:00
#Latitudes and longitudes of cities, various trigger combinations
#Values from Wikipedia/GeoHack toolserver
#Sydney
2014-07-04 22:00:59 -07:00
'convert 33.859972º S 151.2094° E to degrees minutes seconds' = > test_zci ( '33° 51′ 36″ S 151° 12′ 34″ E' , html = > qr/33.+51.+36.+S.+151.+12.+34.+E/ ) ,
2014-07-04 20:51:17 -07:00
#Moscow
2014-07-04 22:00:59 -07:00
'55° 45′ 0″ 37° 37′ 0″ in decimal' = > test_zci ( '55.75° 37.616667°' , html = > qr/55\.75.+37\.616667/ ) ,
2014-07-04 20:51:17 -07:00
#Kinshasha
2014-07-04 22:00:59 -07:00
'kinshasha is 4.325 degrees south 15.322222 degrees east convert to dms' = > test_zci ( '4° 19′ 30″ S 15° 19′ 20″ E' , html = > qr/4.+19.+30.+S.+15.+19.+20.+E/ ) ,
2014-07-04 20:51:17 -07:00
#Copenhagen
'55.676111° latitude' = > test_zci ( '55° 40′ 34″' , html = > qr/55.+40.+34/ ) ,
2014-06-30 20:38:48 -07:00
2014-07-04 20:51:17 -07:00
#Make sure "plural S" works
2014-07-05 00:20:26 -07:00
"68 degrees 9 minutes S in decimal form" = > test_zci ( '68.15° S' , html = > qr/68\.15.+S/ ) ,
2014-06-30 20:38:48 -07:00
2014-07-04 20:51:17 -07:00
#Should not trigger for impossible latitudes and longitudes
'95º 4\' N as decimal' = > undef ,
'convert 293.11 degrees to dms' = > undef ,
2014-10-28 11:36:15 -07:00
2014-07-04 20:51:17 -07:00
#Should not trigger for impossible combinations of sign and
# cardinal direction
'-71º 12\' 51" S as a decimal latitude' = > undef ,
2014-06-30 20:38:48 -07:00
2014-07-04 20:51:17 -07:00
#Should not trigger on unrelated queries
'convert 61.01º farenheit to celcius' = > undef ,
'how many degrees in a 12-sided polygon internal angles' = > undef ,
'convert 61.125 degrees to radians' = > undef ,
'are there more than 100 seconds in a day' = > undef ,
'convert 4 minute mile to kilometers' = > undef ,
'attack of the 50\' 4" woman' = > undef ,
'is 39.75 degrees a fever' = > undef ,
2014-07-05 05:19:53 -07:00
'convert 39.75 degrees to farenheit' = > undef ,
2014-06-30 20:38:48 -07:00
2014-07-04 22:00:59 -07:00
#Check for to-format name
'16.5° S, 68.15° W dms' = > test_zci ( qr/./ , html = > qr/DMS/ ) ,
'16° 30′ S, 68° 9′ W decimal' = > test_zci ( qr/./ , html = > qr/decimal/ ) ,
2014-06-30 20:38:48 -07:00
) ;
done_testing ;