65 lines
1.6 KiB
Perl
Executable File
65 lines
1.6 KiB
Perl
Executable File
#!/usr/bin/env perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
use Test::More;
|
|
use Test::Deep;
|
|
use DDG::Test::Goodie;
|
|
|
|
zci answer_type => "factors";
|
|
zci is_cached => 1;
|
|
|
|
sub build_test {
|
|
my ( $text_answer, $input, $answer ) = @_;
|
|
|
|
return test_zci(
|
|
$text_answer,
|
|
structured_answer => {
|
|
data => {
|
|
title => $answer,
|
|
subtitle => "Factors of: $input"
|
|
},
|
|
templates => { group => 'text' }
|
|
}
|
|
);
|
|
}
|
|
|
|
ddg_goodie_test(
|
|
[qw( DDG::Goodie::Factors)],
|
|
'30 factors' => build_test(
|
|
'Factors of 30: 1, 2, 3, 5, 6, 10, 15, 30',
|
|
'30',
|
|
'1, 2, 3, 5, 6, 10, 15, 30'
|
|
),
|
|
'factors of 72' => build_test(
|
|
'Factors of 72: 1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 36, 72',
|
|
'72',
|
|
'1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 36, 72'
|
|
),
|
|
'factors of 30' => build_test(
|
|
'Factors of 30: 1, 2, 3, 5, 6, 10, 15, 30',
|
|
'30',
|
|
'1, 2, 3, 5, 6, 10, 15, 30'
|
|
),
|
|
'72 factors' => build_test(
|
|
'Factors of 72: 1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 36, 72',
|
|
'72',
|
|
'1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 36, 72'
|
|
),
|
|
'factors of -6' => build_test(
|
|
'Factors of -6: -6, -3, -2, -1, 1, 2, 3, 6',
|
|
'-6',
|
|
'-6, -3, -2, -1, 1, 2, 3, 6'
|
|
),
|
|
'-12 factors' => build_test(
|
|
'Factors of -12: -12, -6, -4, -3, -2, -1, 1, 2, 3, 4, 6, 12',
|
|
'-12',
|
|
'-12, -6, -4, -3, -2, -1, 1, 2, 3, 4, 6, 12'
|
|
),
|
|
'factors of 999999999' => undef,
|
|
'factors of 2.4' => undef,
|
|
'factors of fear' => undef,
|
|
);
|
|
|
|
done_testing;
|