zeroclickinfo-goodies/t/BPMToMs.t

164 lines
5.3 KiB
Perl

#!/usr/bin/env perl
use strict;
use warnings;
use Test::More;
use DDG::Test::Goodie;
zci answer_type => "bpmto_ms";
zci is_cached => 1;
my $plaintext_120 = "120 bpm in milliseconds:";
$plaintext_120 .= "\nWhole Note: 2000, Triplet: 1333, Dotted: 3000";
$plaintext_120 .= "\nHalf Note: 1000, Triplet: 667, Dotted: 1500";
$plaintext_120 .= "\nQuarter Note: 500, Triplet: 333, Dotted: 750";
$plaintext_120 .= "\n1/8 Note: 250, Triplet: 167, Dotted: 375";
$plaintext_120 .= "\n1/16 Note: 125, Triplet: 83, Dotted: 188";
$plaintext_120 .= "\n1/32 Note: 63, Triplet: 42, Dotted: 94";
my $plaintext_61 = "61 bpm in milliseconds:";
$plaintext_61 .= "\nWhole Note: 3934, Triplet: 2623, Dotted: 5902";
$plaintext_61 .= "\nHalf Note: 1967, Triplet: 1311, Dotted: 2951";
$plaintext_61 .= "\nQuarter Note: 984, Triplet: 656, Dotted: 1475";
$plaintext_61 .= "\n1/8 Note: 492, Triplet: 328, Dotted: 738";
$plaintext_61 .= "\n1/16 Note: 246, Triplet: 164, Dotted: 369";
$plaintext_61 .= "\n1/32 Note: 123, Triplet: 82, Dotted: 184";
ddg_goodie_test(
[qw( DDG::Goodie::BPMToMs)],
"120 beats per minute to ms" => test_zci(
$plaintext_120,
structured_answer => {
data => '-ANY-',
# [
# {
# note_type => "Whole Note",
# triplet => 1333,
# dotted => 3000,
# milliseconds => 2000,
# image => qr/.*/
# },
# {
# note_type => "Half Note",
# triplet => 667,
# dotted => 1500,
# milliseconds => 1000,
# image => qr/.*/
# },
# {
# note_type => "Quarter Note",
# triplet => 333,
# dotted => 750,
# milliseconds => 500,
# image => qr/.*/
# },
# {
# note_type => "1/8 Note",
# triplet => 167,
# dotted => 375,
# milliseconds => 250,
# image => qr/.*/
# },
# {
# note_type => "1/16 Note",
# triplet => 83,
# dotted => 188,
# milliseconds => 125,
# image => qr/.*/
# },
# {
# note_type => "1/32 Note",
# triplet => 42,
# dotted => 94,
# milliseconds => 63,
# image => qr/.*/
# }
# ],
id => "bpmto_ms",
name => "Music",
meta => {
sourceUrl => "https://wikipedia.org/wiki/Tempo#Beats_per_minute",
sourceName => "Wikipedia"
},
templates => {
group => "base",
detail => 0,
options => {
content => "DDH.bpmto_ms.content"
}
}
}
),
"61 beats per minute to ms" => test_zci(
$plaintext_61,
structured_answer => {
data => '-ANY-',
# [
# {
# note_type => "Whole Note",
# triplet => 2623,
# dotted => 5902,
# milliseconds => 3934,
# image => qr/.*/
# },
# {
# note_type => "Half Note",
# triplet => 1311,
# dotted => 2951,
# milliseconds => 1967,
# image => qr/.*/
# },
# {
# note_type => "Quarter Note",
# triplet => 656,
# dotted => 1475,
# milliseconds => 984,
# image => qr/.*/
# },
# {
# note_type => "1/8 Note",
# triplet => 328,
# dotted => 738,
# milliseconds => 492,
# image => qr/.*/
# },
# {
# note_type => "1/16 Note",
# triplet => 164,
# dotted => 369,
# milliseconds => 246,
# image => qr/.*/
# },
# {
# note_type => "1/32 Note",
# triplet => 82,
# dotted => 184,
# milliseconds => 123,
# image => qr/.*/
# }
# ],
id => "bpmto_ms",
name => "Music",
meta => {
sourceUrl => "https://wikipedia.org/wiki/Tempo#Beats_per_minute",
sourceName => "Wikipedia"
},
templates => {
group => "base",
detail => 0,
options => {
content => "DDH.bpmto_ms.content"
}
}
}
),
'-1 bpm to ms' => undef,
'some bpm to ms' => undef,
'bpm' => undef,
);
done_testing;