1 #define BOOST_AUTO_TEST_MAIN
2 #include <boost/test/auto_unit_test.hpp>
4 #include "trivial_filter.hpp"
6 BOOST_AUTO_TEST_CASE( test_nt_map )
8 BOOST_CHECK_EQUAL( nt_map('A'), A );
9 BOOST_CHECK_EQUAL( nt_map('a'), A );
10 BOOST_CHECK_EQUAL( nt_map('T'), T );
11 BOOST_CHECK_EQUAL( nt_map('t'), T );
12 BOOST_CHECK_EQUAL( nt_map('G'), G );
13 BOOST_CHECK_EQUAL( nt_map('g'), G );
14 BOOST_CHECK_EQUAL( nt_map('C'), C );
15 BOOST_CHECK_EQUAL( nt_map('c'), C );
16 BOOST_CHECK_EQUAL( nt_map('U'), U );
17 BOOST_CHECK_EQUAL( nt_map('u'), U );
18 BOOST_CHECK_EQUAL( nt_map('N'), N );
19 BOOST_CHECK_EQUAL( nt_map('n'), N );
20 BOOST_CHECK_EQUAL( nt_map('X'), X );
21 BOOST_CHECK_EQUAL( nt_map('x'), X );
24 BOOST_AUTO_TEST_CASE( test_generate_dna_pattern_1mer )
26 TSFLookupTable table(1,4);
27 BOOST_CHECK( table.states() > 0);
29 const int failed_state = TSFLookupTable::failed_state;
30 const int accept_state = TSFLookupTable::accept_state;
33 int a_state = table.next(TSFLookupTable::start_state, A);
34 int t_state = table.next(TSFLookupTable::start_state, T);
35 int g_state = table.next(TSFLookupTable::start_state, G);
36 int c_state = table.next(TSFLookupTable::start_state, C);
38 BOOST_CHECK(a_state != t_state);
39 BOOST_CHECK(a_state != g_state);
40 BOOST_CHECK(a_state != c_state);
41 BOOST_CHECK(t_state != g_state);
42 BOOST_CHECK(t_state != c_state);
43 BOOST_CHECK(g_state != c_state);
45 BOOST_CHECK_EQUAL( table.next(TSFLookupTable::start_state, A), a_state );
46 BOOST_CHECK_EQUAL( table.next(a_state, A), a_state+1 );
47 BOOST_CHECK_EQUAL( table.next(a_state, G), failed_state);
48 BOOST_CHECK_EQUAL( table.next(a_state+1, A), a_state+2 );
49 BOOST_CHECK_EQUAL( table.next(a_state+2, A), a_state+3 );
50 BOOST_CHECK_EQUAL( table.next(a_state+3, A), a_state+3 );
51 BOOST_CHECK_EQUAL( table.next(a_state+3, G), accept_state);
53 BOOST_CHECK_EQUAL( table.next(TSFLookupTable::start_state, G), g_state );
54 BOOST_CHECK_EQUAL( table.next(g_state, G), g_state+1 );
55 BOOST_CHECK_EQUAL( table.next(g_state, T), failed_state);
56 BOOST_CHECK_EQUAL( table.next(g_state+1, G), g_state+2 );
57 BOOST_CHECK_EQUAL( table.next(g_state+2, G), g_state+3 );
58 BOOST_CHECK_EQUAL( table.next(g_state+3, G), g_state+3 );
59 BOOST_CHECK_EQUAL( table.next(g_state+3, C), accept_state);