Convert RandomNumbers to full template goodie (#3014)

* Convert RandomNumbers to full template
master
Naveen Karippai 2016-05-14 13:17:47 +02:00 committed by Ben Moon
parent 5ec54f0809
commit 6df517e87a
2 changed files with 37 additions and 46 deletions

View File

@ -38,11 +38,15 @@ handle query_lc => sub {
$rand = int($rand) + $start;
}
return $rand . " (random number)",
return "$rand (random number)",
structured_answer => {
input => [$start, $end],
operation => 'Random number between',
result => $rand
data => {
title => $rand,
subtitle => "Random number between $start - $end"
},
templates => {
group => "text",
}
};
};

View File

@ -3,53 +3,40 @@
use strict;
use warnings;
use Test::More;
use Test::Deep;
use DDG::Test::Goodie;
zci answer_type => 'rand';
zci is_cached => 0;
sub build_structured_answer {
my ($number_one, $number_two, $response) = @_;
return re(qr/^$response \(random number\)$/),
structured_answer => {
data => {
title => re(qr/^$response$/),
subtitle => "Random number between $number_one - $number_two"
},
templates => {
group => "text",
}
}
}
sub build_test {
test_zci(build_structured_answer(@_));
}
ddg_goodie_test(
[qw( DDG::Goodie::RandomNumber )],
'random number between 12 and 45' => test_zci(
qr/\d{2} \(random number\)/,
structured_answer => {
input => [12, 45],
operation => 'Random number between',
result => qr/^\d{2}$/
}
),
'random number' => test_zci(qr/\d{1}\.\d+ \(random number\)/,
structured_answer => {
input => [0, 1],
operation => 'Random number between',
result => qr/\d{1}\.\d+/,
}
),
'random number between 0 and 1' => test_zci(
qr/\d{1} \(random number\)/,
structured_answer => {
input => [0, 1],
operation => 'Random number between',
result => qr/^\d{1}\.\d+$/
}
),
'random number between 0 and 10' => test_zci(
qr/\d{1,2} \(random number\)/,
structured_answer => {
input => [0, 10],
operation => 'Random number between',
result => qr/^\d{1,2}$/
}
),
'random number between 0 and 100' => test_zci(
qr/\d{1,3} \(random number\)/,
structured_answer => {
input => [0, 100],
operation => 'Random number between',
result => qr/^\d{1,3}$/
}
),
'random day' => undef,
'random access' => undef,
'random number between 12 and 45' => build_test(12, 45, qr/\d{2}/),
'random number' => build_test(0, 1, qr/\d{1}\.\d+/),
'random number between 0 and 1' => build_test(0, 1, qr/\d{1}\.\d+/),
'random number between 0 and 10' => build_test(0, 10, qr/\d{1,2}/),
'random number between 0 and 100' => build_test(0, 100, qr/\d{1,3}/),
'random day' => undef,
'random access' => undef
);
done_testing
done_testing;