-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdictionary_spec.rb
37 lines (32 loc) · 953 Bytes
/
dictionary_spec.rb
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
RSpec.describe Dictionary do
describe '.words' do
it 'returns array of strings' do
expect(described_class.words).to all(be_a(String))
end
it 'returns 5757 words' do
expect(described_class.words.size).to eq(5760)
end
end
describe '.random_pick' do
it 'returns a different word every time' do
expect(described_class.random_pick).not_to eq(described_class.random_pick) # flaky spec ahead!!
end
end
describe '.include?' do
context 'when word not in dictionary' do
it 'returns false' do
expect(described_class.include?('SNAZY')).to be(false)
end
end
context 'when word in dictionary' do
it 'returns true' do
expect(described_class.include?('WATER')).to be(true)
end
end
context 'when word lowercased' do
it 'raises error' do
expect { described_class.include?('water') }.to raise_error(RuntimeError)
end
end
end
end