zeroclickinfo-goodies/t/SumOfNaturalNumbers.t

45 lines
1.3 KiB
Perl

use strict;
use warnings;
use Test::More;
use Test::Deep;
use DDG::Test::Goodie;
zci answer_type => 'sum';
zci is_cached => 1;
sub build_sum_answer {
my($title, $subtitle) = @_;
return $subtitle,
structured_answer => {
data => {
title => "$title",
subtitle => $subtitle
},
templates => {
group => 'text',
}
};
}
sub build_sum_test { test_zci(build_sum_answer(@_)) }
ddg_goodie_test(
[
'DDG::Goodie::SumOfNaturalNumbers'
],
'sum 1 to 10' => build_sum_test('55', 'Sum of natural numbers from 1 to 10'),
'sum 55 to 63' => build_sum_test('531', 'Sum of natural numbers from 55 to 63'),
'add 33 to 100' => build_sum_test('4,522', 'Sum of natural numbers from 33 to 100'),
'sum 1-10' => build_sum_test('55', 'Sum of natural numbers from 1 to 10'),
'sum from 1 to 10' => build_sum_test('55', 'Sum of natural numbers from 1 to 10'),
'1-10 sum' => build_sum_test('55', 'Sum of natural numbers from 1 to 10'),
'add from 1 to 100' => build_sum_test('5,050', 'Sum of natural numbers from 1 to 100'),
# Invalid Input
'sum 1 --- 10' => undef,
'sum 100 - 10' => undef,
'add ten to twenty' => undef,
);
done_testing;