Skip to content

Commit 570fdac

Browse files
committed
tidy up RNASeqTest
1 parent c1a114f commit 570fdac

1 file changed

Lines changed: 67 additions & 0 deletions

File tree

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,74 @@
11
package org.biojava.nbio.core.sequence;
22

3+
import org.biojava.nbio.core.exceptions.CompoundNotFoundException;
4+
import org.biojava.nbio.core.sequence.compound.NucleotideCompound;
5+
import org.biojava.nbio.core.sequence.template.Compound;
6+
import org.biojava.nbio.core.sequence.template.SequenceView;
7+
import org.biojava.nbio.core.sequence.transcription.TranscriptionEngine;
8+
import org.junit.jupiter.api.BeforeEach;
9+
import org.junit.jupiter.api.Test;
10+
import static java.util.stream.Collectors.joining;
311
import static org.junit.jupiter.api.Assertions.*;
412

513
class RNASequenceTest {
614

15+
// AUG start, then 3 AA, then stop codon
16+
final String rnaSeq = "AUGGUCGAACUCUGA";
17+
final String rnaSeqCompl = "UACCAGCUUGAGACU";
18+
final String rnaSeqReversed = "AGUCUCAAGCUGGUA";
19+
final String rnaSeqReversedComplement = "UCAGAGUUCGACCAU";
20+
RNASequence rna;
21+
@BeforeEach
22+
void before() throws CompoundNotFoundException {
23+
rna = new RNASequence(rnaSeq);
24+
}
25+
26+
@Test
27+
void translateToProteinSequence() {
28+
ProteinSequence protein = rna.getProteinSequence(TranscriptionEngine.getDefault());
29+
assertEquals(4, protein.getLength());
30+
assertEquals("MVEL", protein.getSequenceAsString());
31+
}
32+
33+
@Test
34+
void complement() {
35+
SequenceView<NucleotideCompound> complement = rna.getComplement();
36+
assertEquals(rnaSeqCompl, complement.getSequenceAsString());
37+
assertEquals(rnaSeq, complement.getViewedSequence().getSequenceAsString());
38+
assertEquals(rna.getLength(), complement.getLength());
39+
}
40+
41+
@Test
42+
void reverse() {
43+
SequenceView<NucleotideCompound> reversed = rna.getInverse();
44+
assertEquals(rnaSeqReversed, reversed.getSequenceAsString());
45+
assertEquals(rnaSeq, reversed.getViewedSequence().getSequenceAsString());
46+
assertEquals(rna.getLength(), reversed.getLength());
47+
}
48+
49+
@Test
50+
void reverseComplement() {
51+
SequenceView<NucleotideCompound> reverseComplement = rna.getReverseComplement();
52+
assertEquals(rnaSeqReversedComplement, reverseComplement.getSequenceAsString());
53+
assertEquals(rna.getLength(), reverseComplement.getLength());
54+
StringBuilder sb = new StringBuilder();
55+
for (int i = 1; i <= rna.getLength(); i++) {
56+
sb.append(reverseComplement.getCompoundAt(i).toString());
57+
}
58+
assertEquals(rnaSeqReversedComplement, sb.toString());
59+
60+
sb = new StringBuilder();
61+
for (Compound c: reverseComplement) {
62+
sb.append(c.toString());
63+
}
64+
assertEquals(rnaSeqReversedComplement, sb.toString());
65+
assertEquals(rnaSeqReversedComplement, reverseComplement.getAsList().stream().map(Compound::toString).collect(joining("")));
66+
}
67+
68+
@Test
69+
void rejectThymineInSequence() {
70+
String dna = rnaSeq.replaceAll("U", "T");
71+
assertThrows(CompoundNotFoundException.class, ()->new RNASequence(dna));
72+
}
73+
774
}

0 commit comments

Comments
 (0)