@@ -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