zeroclickinfo-goodies/t/CalendarConversion.t

55 lines
1.9 KiB
Perl

#!/usr/bin/env perl
use strict;
use warnings;
use Test::More;
use Test::Deep;
use DDG::Test::Goodie;
zci answer_type => 'calendar_conversion';
zci is_cached => 0;
sub build_structured_answer {
my ($input_date, $converted_date) = @_;
return "$input_date is $converted_date",
structured_answer => {
data => {
title => $converted_date,
subtitle => "Calendar conversion: $input_date"
},
templates => {
group => 'text'
}
};
}
sub build_test { test_zci(build_structured_answer(@_)) }
my @g22h = (build_test('22 August 2003 (Gregorian)', '23 Jumaada Thani 1424 (Hijri)'));
my @h23g = (build_test('23 Jumaada Thani 1424 (Hijri)', '22 August 2003 (Gregorian)'));
my @g22j = (build_test('22 August 2003 (Gregorian)', '31 Mordad 1382 (Jalali)'));
ddg_goodie_test(
[qw(DDG::Goodie::CalendarConversion)],
# 'to' forms
'2003-08-22 to hijri' => @g22h,
'2003-08-22 to the hijri calendar' => @g22h,
'2003-08-22 in the hijri calendar' => @g22h,
'2003-08-22 in hijri years' => @g22h,
# Specifying both calendars
'1424-06-23 in hijri to gregorian years' => @h23g,
'1424-06-23 hijri to gregorian' => @h23g,
'2003-08-22 to jalali' => @g22j,
'1382-05-31 jalali to gregorian' => build_test('31 Mordad 1382 (Jalali)', '22 August 2003 (Gregorian)'),
'1382-05-31 jalali to hijri' => build_test('31 Mordad 1382 (Jalali)', '23 Jumaada Thani 1424 (Hijri)'),
'1424-06-23 in hijri to jalali date' => build_test('23 Jumaada Thani 1424 (Hijri)', '31 Mordad 1382 (Jalali)'),
# Can use capitals for names
'2003-08-22 to Hijri' => @g22h,
# Role contract
'August 22 2003 in jalali date' => @g22j,
# To = default
'2003-08-22 in gregorian time' => undef,
);
done_testing;