incorporate drawable and annotations
[mussa.git] / qui / test / TestSequenceBrowser.hpp
1 #ifndef _TEST_SEQUENCE_BROWSER_HPP_
2 #define _TEST_SEQUENCE_BROWSER_HPP_
3
4 #include <QtGui>
5 #include <QtTest/QtTest>
6
7 #include "alg/sequence.hpp"
8 #include "qui/seqbrowser/SequenceBrowser.hpp"
9
10 #include <iostream>
11 #include <string>
12 #include <vector>
13
14 #include <boost/assign.hpp>
15 #include <boost/shared_ptr.hpp>
16 using namespace boost::assign;
17
18
19 class TestSequenceBrowser : public QObject
20 {
21   Q_OBJECT
22
23 private slots:
24
25   void testSimplePushSequence() {
26     boost::shared_ptr<Sequence> seq1(new Sequence("AAGGCCTT"));
27     boost::shared_ptr<Sequence> seq2(new Sequence("GGCCTTAA"));
28
29     SequenceBrowser browser;
30     QVERIFY(browser.sequences().size() == 0);
31     browser.push_sequence(seq1);
32     browser.push_sequence(seq2);
33     QVERIFY(browser.sequences().size() == 2);
34     browser.clear();
35     QVERIFY(browser.sequences().size() == 0);
36   }
37
38   void testSelect() {
39     boost::shared_ptr<Sequence> seq1(new Sequence("AAGGCCTT"));
40     boost::shared_ptr<Sequence> seq2(new Sequence("GGCCTTAA"));
41
42     SequenceBrowser browser;
43     browser.push_sequence(seq1);
44     browser.push_sequence(seq2);
45     std::vector<int> path; path += 1,1;
46     std::vector<bool> rc; rc += false, false;
47     browser.link(path, rc, 2);
48   }
49 };
50 #endif