-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathscrabble-score.spec.js
47 lines (36 loc) · 989 Bytes
/
scrabble-score.spec.js
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
import { score } from './scrabble-score';
describe('Scrabble', () => {
test('lowercase letter', () => {
expect(score('a')).toEqual(1);
});
test('uppercase letter', () => {
expect(score('A')).toEqual(1);
});
test('valuable letter', () => {
expect(score('f')).toEqual(4);
});
test('short word', () => {
expect(score('at')).toEqual(2);
});
test('short, valuable word', () => {
expect(score('zoo')).toEqual(12);
});
test('medium word', () => {
expect(score('street')).toEqual(6);
});
test('medium, valuable word', () => {
expect(score('quirky')).toEqual(22);
});
test('long, mixed-case word', () => {
expect(score('OxyphenButazone')).toEqual(41);
});
test('english-like word', () => {
expect(score('pinata')).toEqual(8);
});
test('empty input', () => {
expect(score('')).toEqual(0);
});
test('entire alphabet available', () => {
expect(score('abcdefghijklmnopqrstuvwxyz')).toEqual(87);
});
});