Skip to content

Commit d19539e

Browse files
committed
Unrool test loop
1 parent 7a5838a commit d19539e

1 file changed

Lines changed: 58 additions & 30 deletions

File tree

exercises/practice/protein-translation/protein-translation.spec.js

Lines changed: 58 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -7,37 +7,65 @@ describe('ProteinTranslation', () => {
77
});
88

99
describe('Single codons', () => {
10-
const mapping = [
11-
['Methionine', ['AUG']],
12-
['Phenylalanine', ['UUU', 'UUC']],
13-
['Leucine', ['UUA', 'UUG']],
14-
['Serine', ['UCU', 'UCC', 'UCA', 'UCG']],
15-
['Tyrosine', ['UAU', 'UAC']],
16-
['Cysteine', ['UGU', 'UGC']],
17-
['Tryptophan', ['UGG']],
18-
];
19-
20-
mapping.forEach(([protein, codons]) => {
21-
codons.forEach((codon, index) => {
22-
const seq = index + 1;
23-
const message =
24-
codons.length == 1
25-
? `${protein} RNA sequence`
26-
: `${protein} RNA sequence ${seq}`;
27-
xtest(message, () => {
28-
expect(translate(codon)).toEqual([protein]);
29-
});
30-
});
31-
});
32-
33-
const stopCodons = ['UAA', 'UAG', 'UGA'];
34-
35-
stopCodons.forEach((codon, index) => {
36-
xtest(`STOP codon RNA sequence ${index + 1}`, () => {
37-
expect(translate(codon)).toEqual([]);
38-
});
10+
xtest('Methionine RNA sequence', () => {
11+
expect(translate('AUG')).toEqual(['Methionine']);
3912
});
40-
});
13+
14+
xtest('Phenylalanine RNA sequence 1', () => {
15+
expect(translate('UUU')).toEqual(['Phenylalanine']);
16+
});
17+
xtest('Phenylalanine RNA sequence 2', () => {
18+
expect(translate('UUC')).toEqual(['Phenylalanine']);
19+
});
20+
21+
xtest('Leucine RNA sequence 1', () => {
22+
expect(translate('UUA')).toEqual(['Leucine']);
23+
});
24+
xtest('Leucine RNA sequence 2', () => {
25+
expect(translate('UUG')).toEqual(['Leucine']);
26+
});
27+
28+
xtest('Serine RNA sequence 1', () => {
29+
expect(translate('UCU')).toEqual(['Serine']);
30+
});
31+
xtest('Serine RNA sequence 2', () => {
32+
expect(translate('UCC')).toEqual(['Serine']);
33+
});
34+
xtest('Serine RNA sequence 3', () => {
35+
expect(translate('UCA')).toEqual(['Serine']);
36+
});
37+
xtest('Serine RNA sequence 4', () => {
38+
expect(translate('UCG')).toEqual(['Serine']);
39+
});
40+
41+
xtest('Tyrosine RNA sequence 1', () => {
42+
expect(translate('UAU')).toEqual(['Tyrosine']);
43+
});
44+
xtest('Tyrosine RNA sequence 2', () => {
45+
expect(translate('UAC')).toEqual(['Tyrosine']);
46+
});
47+
48+
xtest('Cysteine RNA sequence 1', () => {
49+
expect(translate('UGU')).toEqual(['Cysteine']);
50+
});
51+
xtest('Cysteine RNA sequence 2', () => {
52+
expect(translate('UGC')).toEqual(['Cysteine']);
53+
});
54+
55+
xtest('Tryptophan RNA sequence', () => {
56+
expect(translate('UGG')).toEqual(['Tryptophan']);
57+
});
58+
59+
xtest('STOP codon RNA sequence 1', () => {
60+
expect(translate('UAA')).toEqual([]);
61+
});
62+
xtest('STOP codon RNA sequence 2', () => {
63+
expect(translate('UAG')).toEqual([]);
64+
});
65+
xtest('STOP codon RNA sequence 3', () => {
66+
expect(translate('UGA')).toEqual([]);
67+
});
68+
});
4169

4270
describe('Multiple codons', () => {
4371
xtest('Sequence of two protein codons translates into proteins', () => {

0 commit comments

Comments
 (0)