Wavelength: Minor test cleanup; removing logic from the wrapper in favour of declaring the intention in the test input

master
Rob Emery 2016-05-19 13:05:32 +01:00
parent 31bdb5574b
commit 347cf6e552
1 changed files with 15 additions and 21 deletions

View File

@ -10,28 +10,8 @@ use utf8;
zci answer_type => "wavelength";
zci is_cached => 1;
#input operation result
ddg_goodie_test(
[qw( DDG::Goodie::Wavelength )],
'1Hz wavelength' => build_test(1,299792458,'Hz'),
'1 MHz lambda VF=0.85' => build_test(1,254.8235893,'MHz','Meters',0.85),
'lambda 0.001kHz' => build_test(0.001,299792458,'kHz'),
"λ 2400MHz" => build_test(2400,12.4913524166667,'MHz','Centimeters'),
"λ 2.4GHz" => build_test(2.4,12.4913524166667,'GHz','Centimeters'),
'144.39 MHz wavelength' => build_test(144.39,2.0762688413325,'MHz'),
'lambda 1500kHz' => build_test(1500,199.861638666667,'kHz'),
'lambda lambda lambda' => undef,
);
done_testing;
sub build_test {
my ($freq_value,$wave_value,$freq_units,$wave_units,$vf) = @_;
# $freq_units ||= 'MHz';
$wave_units ||= 'Meters';
$vf ||= 1;
my $vf_text = $vf == 1 ? '' : "$vf × ";
my ($freq_value, $wave_value, $freq_units, $wave_units, $vf_text) = @_;
my $expect = "λ = $wave_value $wave_units";
return test_zci($expect, structured_answer => {
@ -44,3 +24,17 @@ sub build_test {
}
});
}
ddg_goodie_test(
[qw( DDG::Goodie::Wavelength )],
'1Hz wavelength' => build_test(1, 299792458,'Hz', "Meters", ""),
'1 MHz lambda VF=0.85' => build_test(1, 254.8235893,'MHz','Meters', "0.85 × "),
'lambda 0.001kHz' => build_test(0.001, 299792458,'kHz', "Meters", ""),
"λ 2400MHz" => build_test(2400, 12.4913524166667, 'MHz', 'Centimeters', ""),
"λ 2.4GHz" => build_test(2.4, 12.4913524166667, 'GHz', 'Centimeters', ""),
'144.39 MHz wavelength' => build_test(144.39, 2.0762688413325, 'MHz', "Meters", ""),
'lambda 1500kHz' => build_test(1500, 199.861638666667, 'kHz', "Meters", ""),
'lambda lambda lambda' => undef,
);
done_testing;