test MotifModel and MotifElement
[mussa.git] / qui / motif_editor / test / TestMotifElement.hpp
1 #ifndef TESTMOTIFELEMENT_HPP_
2 #define TESTMOTIFELEMENT_HPP_
3 #include <QtGui>
4 #include <QtTest/QtTest>
5
6 #include "alg/sequence.hpp"
7 #include "qui/motif_editor/MotifElement.hpp"
8
9 class TestMotifElement : public QObject
10 {
11   Q_OBJECT
12
13 private slots:
14
15   void testSimpleConstructor() {
16     MotifElement me;
17     Color default_color(1.0, 0.0, 0.0, 1.0);
18     QVERIFY(me.getColor() == default_color);
19     QVERIFY(me.isEnabled() == true);
20     QVERIFY(me.isEmpty() == true);
21     QVERIFY(me.getSequence() == "");
22     QVERIFY(me.getName() == "");    
23   }
24
25   void testSequenceConstructor() {
26     Sequence s("AAAAAGGGGGG");
27     Color white(1.0, 1.0, 1.0);
28     
29     MotifElement me(s, white);
30     QVERIFY(me.getSequence() == s.get_sequence());
31     QVERIFY(me.getColor() == white);
32     QVERIFY(me.isEmpty() == false);
33     QVERIFY(me.getName() == "");    
34   }
35   
36   void testColorConverters() {
37     Sequence s("AAAAAGGGGGG");
38     Color white(1.0, 1.0, 1.0);
39     QColor qwhite(255,255,255);
40     Color red(1.0, 0.0, 0.0);
41     QColor qred(255,0,0);
42     
43     MotifElement me(s, white);
44     QVERIFY(me.getColor() == white);
45     QVERIFY(me.getQColor() == qwhite);
46     
47     me.setColor(red);
48     QVERIFY(me.getColor() == red);
49     QVERIFY(me.getQColor() == qred);    
50   }
51   
52   void testSequenceText() {
53     std::string seq_text("AAAAGGGGG");
54     QString qs(seq_text.c_str());
55     Sequence s(seq_text);
56     MotifElement me(s);
57     
58     QVERIFY(me.getSequence() == s);
59     QVERIFY(me.getSequence() == seq_text);
60     QVERIFY(me.getSequenceText() == qs);
61     
62     std::string seq_text2("GGGGTTTTT");
63     QString qs2(seq_text2.c_str());
64     me.setSequence(seq_text2);
65     QVERIFY(me.getSequence() == seq_text2);
66     QVERIFY(me.getSequenceText() == qs2);    
67   }
68   
69   void testSequenceName() {
70     Sequence s("AAAAGGGG");
71     MotifElement me(s);
72     me.setName("hello");
73     QVERIFY(me.getName() == "hello");
74   }
75 };
76
77 #endif /*TESTMOTIFELEMENT_HPP_*/