From 31bdb5574b86f6854c6d26ce0f1035c45ffe9c73 Mon Sep 17 00:00:00 2001 From: Rob Emery Date: Thu, 19 May 2016 13:00:40 +0100 Subject: [PATCH] WaveLength: Switching to text template --- lib/DDG/Goodie/Wavelength.pm | 15 +++++++++------ t/Wavelength.t | 33 +++++++++++++++++---------------- 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/lib/DDG/Goodie/Wavelength.pm b/lib/DDG/Goodie/Wavelength.pm index 7e827bece..caa43a89b 100644 --- a/lib/DDG/Goodie/Wavelength.pm +++ b/lib/DDG/Goodie/Wavelength.pm @@ -57,12 +57,15 @@ handle remainder => sub { my $result_text = "λ = $output_value $output_units"; my $operation_text = "Wavelength of $freq ".FORMAT_UNITS->{lc($units)}." ($velocity_text)"; - return $result_text, - structured_answer => { - input => [], - operation => $operation_text, - result => $result_text, - }; + return $result_text, structured_answer => { + data => { + title => $result_text, + subtitle => $operation_text + }, + templates => { + group => 'text' + } + }; }; 1; diff --git a/t/Wavelength.t b/t/Wavelength.t index c52230ffd..21f22d0fc 100644 --- a/t/Wavelength.t +++ b/t/Wavelength.t @@ -13,33 +13,34 @@ zci is_cached => 1; #input operation result ddg_goodie_test( [qw( DDG::Goodie::Wavelength )], - '1Hz wavelength' => test_zci(mk_test(1,299792458,'Hz')), - '1 MHz lambda VF=0.85' => test_zci(mk_test(1,254.8235893,'MHz','Meters',0.85)), - 'lambda 0.001kHz' => test_zci(mk_test(0.001,299792458,'kHz')), - "λ 2400MHz" => test_zci(mk_test(2400,12.4913524166667,'MHz','Centimeters')), - "λ 2.4GHz" => test_zci(mk_test(2.4,12.4913524166667,'GHz','Centimeters')), - '144.39 MHz wavelength' => test_zci(mk_test(144.39,2.0762688413325)), - 'lambda 1500kHz' => test_zci(mk_test(1500,199.861638666667,'kHz')), + '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 mk_test { +sub build_test { my ($freq_value,$wave_value,$freq_units,$wave_units,$vf) = @_; - $freq_units ||= 'MHz'; +# $freq_units ||= 'MHz'; $wave_units ||= 'Meters'; $vf ||= 1; my $vf_text = $vf == 1 ? '' : "$vf × "; my $expect = "λ = $wave_value $wave_units"; - return ( - $expect, - structured_answer => { - input => [], - operation => "Wavelength of $freq_value $freq_units (${vf_text}Speed of light in a vacuum)", - result => $expect, + return test_zci($expect, structured_answer => { + data => { + title => $expect, + subtitle => "Wavelength of $freq_value $freq_units (${vf_text}Speed of light in a vacuum)" + }, + templates => { + group => 'text' } - ); + }); }