forked from duckduckgo/zeroclickinfo-goodies
-
Notifications
You must be signed in to change notification settings - Fork 0
/
FrequencySpectrum.t
117 lines (101 loc) · 2.72 KB
/
FrequencySpectrum.t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#!/usr/bin/env perl
# NOTE: Audible frequency results are currently being suppressed,
# as the resulting IA is too long. This will be revisited when
# better stying is available.
use strict;
use warnings;
use Test::More;
use DDG::Test::Goodie;
zci answer_type => 'frequency_spectrum';
zci is_cached => 1;
ddg_goodie_test(
['DDG::Goodie::FrequencySpectrum'],
#Primary example
'50 hz' => test_zci(
#qr/radio.+SLF.+audible.+double-bass.+piano.+tuba/,
qr/radio/,
html => qr/radio/
),
#Secondary example
'400 thz' => test_zci(
qr/infrared/,
html => qr/infrared/
),
#Misc
'1,000 hz' => test_zci(
#qr/radio.+audible.+human.+voice.+viola.+violin.+guitar.+mandolin.+banjo.+piano.+saxophone.+flute.+clarinet.+oboe/,
qr/radio/,
html => qr/radio.+/
),
'1000000.99 hz' => test_zci(
qr/radio.+MF/,
html => qr/radio.+MF/
),
'29.1 hz' => test_zci(
qr/radio.+ELF/,
html => qr/radio.+ELF/
),
#No whitespace between number and unit
'50hz' => test_zci(
#qr/radio.+SLF.+audible.+double-bass.+piano.+tuba/,
qr/radio/,
html => qr/radio/
),
'400terahertz' => test_zci(
qr/infrared/,
html => qr/infrared/
),
#Mixed case
'400 THz' => test_zci(
qr/infrared/,
html => qr/infrared/
),
'1000 HZ' => test_zci(
#qr/radio.+audible.+human.+voice.+viola.+violin.+guitar.+mandolin.+banjo.+piano.+saxophone.+flute.+clarinet.+oboe/,
qr/radio/,
html => qr/radio.+/
),
#Commas in number
'1,000,000.99 hz' => test_zci(
qr/radio.+MF/,
html => qr/radio.+MF/
),
#Can you test with all the colours of the wind?
'650 nm' => test_zci(
qr/visible.+red/,
html => qr/visible.+red/
),
'610 nanometers' => test_zci(
qr/visible.+orange/,
html => qr/visible.+orange/
),
'580 nanometres' => test_zci(
qr/visible.+yellow/,
html => qr/visible.+yellow/
),
'536 nanometer' => test_zci(
qr/visible.+green/,
html => qr/visible.+green/
),
'478.1 nm' => test_zci(
qr/visible.+blue/,
html => qr/visible.+blue/
),
'380.000000000 nanometres' => test_zci(
qr/visible.+violet/,
html => qr/visible.+violet/
),
#Only visible light wavelengths should trigger
'0.1 nm' => undef,
'100 nm' => undef,
'800 nm' => undef,
'10000 nm' => undef,
#Malformed frequencies/wavelengths should not trigger
'1000.000..99 hz' => undef,
'15 kilo hertz' => undef,
'100,123 jiggahz' => undef,
'hertz' => undef,
'terahz' => undef,
'600 nmeters' => undef,
);
done_testing;