load and display a motif list
[mussa.git] / alg / test / test_annotation_color.cpp
1 #include <boost/test/auto_unit_test.hpp>
2
3 #include "alg/annotation_colors.hpp"
4 #include "alg/color.hpp"
5
6 BOOST_AUTO_TEST_CASE( simple_annot_colors )
7 {
8   Color black(0.0, 0.0, 0.0);
9   Color white(1.0, 1.0, 1.0);
10   Color red(1.0, 0.0, 0.0);
11
12   AnnotationColors ac;
13
14   ac.setColor(white);
15   BOOST_CHECK_EQUAL( ac.color(), white);
16
17   ac.appendTypeColor("bleem", black);
18   BOOST_CHECK_EQUAL( ac.typeColor("bleem"), black );
19   // FIXME: it'd be nice if something like this worked?
20   //BOOST_CHECK_RAISES( ac.typeColor("not found"), not_found );
21   ac.appendInstanceColor("bleem", "a", red);
22   BOOST_CHECK_EQUAL( ac.instanceColor("bleem", "a"), red);
23  
24   BOOST_CHECK_EQUAL( ac.lookup("bleem", "a"), red );
25   BOOST_CHECK_EQUAL( ac.lookup("bleem", "foo"), black );
26   BOOST_CHECK_EQUAL( ac.lookup("venchent", "a"), white );
27
28   annot a;
29   a.start = 30;
30   a.end = 45;
31   a.type = "bleem";
32   a.name = "a";
33   
34   BOOST_CHECK_EQUAL( ac.lookup(a), red );
35   a.name = "b";
36   BOOST_CHECK_EQUAL( ac.lookup(a), black );
37   a.type = "venchent";
38   BOOST_CHECK_EQUAL( ac.lookup(a), white );
39
40   ac.clear();
41   BOOST_CHECK_EQUAL( ac.lookup("bleem", "a"), black);
42 }
43