zeroclickinfo-goodies/t/PrimeFactors.t

60 lines
2.2 KiB
Perl
Raw Permalink Normal View History

2013-05-15 08:15:50 -07:00
#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
2013-05-15 08:15:50 -07:00
use Test::More;
use Test::Deep;
2013-05-15 08:15:50 -07:00
use DDG::Test::Goodie;
zci answer_type => "prime_factors";
2013-05-15 08:15:50 -07:00
zci is_cached => 1;
2015-07-20 23:36:54 -07:00
sub build_answer {
my ($subtitle, $title) = @_;
2015-07-20 23:36:54 -07:00
return structured_answer => {
data => {
title => $title,
subtitle => $subtitle
},
templates => {
group => 'text'
}
}
}
2013-05-15 08:15:50 -07:00
ddg_goodie_test(
[qw(
DDG::Goodie::PrimeFactors
)],
2015-07-23 03:12:14 -07:00
'72 prime factors' => test_zci('The prime factorization of 72 is 2^3 × 3^2',
build_answer('72 - Prime Factors', '2³ × 3²')),
'prime factors of 111' => test_zci('The prime factorization of 111 is 3 × 37',
build_answer('111 - Prime Factors', '3 × 37')),
'prime factors of 30' => test_zci('The prime factorization of 30 is 2 × 3 × 5',
build_answer('30 - Prime Factors', '2 × 3 × 5')),
'prime factorization of 45' => test_zci('The prime factorization of 45 is 3^2 × 5',
build_answer('45 - Prime Factors', '3² × 5')),
'factorize 128' => test_zci('The prime factorization of 128 is 2^7',
build_answer('128 - Prime Factors', '2⁷')),
'42 prime factorize' => test_zci('The prime factorization of 42 is 2 × 3 × 7',
build_answer('42 - Prime Factors', '2 × 3 × 7')),
'is 83 prime' => test_zci('83 is a prime number',
build_answer(undef, '83 is a prime number')),
'is 4 prime' => test_zci('The prime factorization of 4 is 2^2',
build_answer('4 - Prime Factors', '2²')),
'is 83 a prime' => test_zci('83 is a prime number',
build_answer(undef, '83 is a prime number')),
'is 83 prime number' => test_zci('83 is a prime number',
build_answer(undef, '83 is a prime number')),
'is 83 a prime number' => test_zci('83 is a prime number',
build_answer(undef, '83 is a prime number')),
'optimus prime 45' => undef,
'prime factors of 9999999' => undef
2014-03-25 21:14:40 -07:00
);
2013-05-15 08:15:50 -07:00
2016-05-16 06:18:04 -07:00
done_testing;