0ca0b805c4bec8fe021018dd8551a1edd33ebc29
[mussa.git] / qui / test / TestSequenceDescription.hpp
1 #ifndef _TEST_SEQUENCE_DESCRIPTION_HPP_
2 #define _TEST_SEQUENCE_DESCRIPTION_HPP_
3
4 #include <QtGui>
5 #include <QtTest/QtTest>
6
7 #include "alg/sequence.hpp"
8 #include "alg/glsequence.hpp"
9 #include "alg/annotation_colors.hpp"
10 #include "qui/seqbrowser/SequenceDescription.hpp"
11
12 #include <iostream>
13 #include <string>
14 #include <vector>
15
16 class TestSequenceDescription : public QObject
17 {
18   Q_OBJECT
19
20 private slots:
21   void testSimple() {
22     boost::shared_ptr<Sequence> seq1(new Sequence("AAGGCCTT"));
23     seq1->set_species("foo");
24     boost::shared_ptr<AnnotationColors> cm(new AnnotationColors);
25     boost::shared_ptr<GlSequence> glseq1(new GlSequence(seq1, cm));
26
27     SequenceDescription sd(glseq1, 0);
28     QVERIFY(sd.glsequence() == glseq1);
29     QVERIFY(sd.glsequence()->sequence()->get_species() == seq1->get_species());
30     sd.setName(std::string("bar"));
31     QVERIFY(sd.glsequence()->sequence()->get_species() == seq1->get_species());
32     QVERIFY(seq1->get_species() == "bar");
33   }
34   void testDeletedPointer() {
35     SequenceDescription sd;
36
37     { 
38       boost::shared_ptr<Sequence> seq1(new Sequence("AAGGCCTT"));
39       Sequence m("AAGG");
40       seq1->find_motif(m);
41       seq1->set_species("foo");
42       boost::shared_ptr<AnnotationColors> cm(new AnnotationColors);
43       boost::shared_ptr<GlSequence> glseq1(new GlSequence(seq1, cm));
44       sd.setGlSequence(glseq1);
45     }
46
47     QVERIFY(sd.name() == "foo");
48   }
49 };
50 #endif