1 #include <boost/test/auto_unit_test.hpp>
5 #include "alg/mussa.hpp"
7 //! can we initialize a mussa object?
8 BOOST_AUTO_TEST_CASE( mussa_simple )
11 BOOST_CHECK_EQUAL(m.get_name(), "" );
12 BOOST_CHECK_EQUAL(m.get_window(), 0);
13 BOOST_CHECK_EQUAL(m.get_threshold(), 0);
14 BOOST_CHECK_EQUAL(m.get_analysis_mode(), Mussa::TransitiveNway);
15 m.set_name( "hello" );
16 BOOST_CHECK_EQUAL(m.get_name(), "hello" );
18 BOOST_CHECK_EQUAL(m.get_window(), 30);
20 BOOST_CHECK_EQUAL(m.get_threshold(), 21);
21 m.set_analysis_mode(Mussa::RadialNway);
22 BOOST_CHECK_EQUAL(m.get_analysis_mode(), Mussa::RadialNway);
25 BOOST_CHECK_EQUAL(m.get_name(), "" );
26 BOOST_CHECK_EQUAL(m.get_window(), 0);
27 BOOST_CHECK_EQUAL(m.get_threshold(), 0);
28 BOOST_CHECK_EQUAL(m.get_analysis_mode(), Mussa::TransitiveNway);
31 BOOST_AUTO_TEST_CASE( mussa_analysis_name )
34 m.set_analysis_mode( Mussa::TransitiveNway );
35 BOOST_CHECK_EQUAL( m.get_analysis_mode_name(), "Transitive" );
36 m.set_analysis_mode( Mussa::RadialNway );
37 BOOST_CHECK_EQUAL( m.get_analysis_mode_name(), "Radial" );
38 m.set_analysis_mode( Mussa::EntropyNway );
39 BOOST_CHECK_EQUAL( m.get_analysis_mode_name(), "Entropy" );
40 m.set_analysis_mode( Mussa::RecursiveNway);
41 BOOST_CHECK_EQUAL( m.get_analysis_mode_name(), "[deprecated] Recursive" );
44 BOOST_AUTO_TEST_CASE( mussa_sequences )
46 std::string s0("AAAANNNN");
47 std::string s1("GGGGNNNN");
48 std::string s2("TTTTNNNN");
51 analysis.add_a_seq(s0);
52 analysis.add_a_seq(s1);
53 analysis.add_a_seq(s2);
55 BOOST_CHECK_EQUAL( analysis.sequences().size(), 3 );
56 BOOST_CHECK_EQUAL( analysis.sequences()[0].get_seq(), s0);
57 BOOST_CHECK_EQUAL( analysis.sequences()[1].get_seq(), s1);
58 BOOST_CHECK_EQUAL( analysis.sequences()[2].get_seq(), s2);
61 // for some reason we can call nway once safely but it
62 // somehow changed things and caused a segfault
63 // fixed by adding a return statement in trans_path_search
64 BOOST_AUTO_TEST_CASE ( empty_mussa_set_threshold )
75 BOOST_AUTO_TEST_CASE( mussa_load_mupa )
79 m1.load_mupa_file( "mck3test.mupa" );
81 BOOST_CHECK_EQUAL( m1.get_name(), std::string("mck3test") );
82 BOOST_CHECK( m1.size() > 0 );
85 std::string saved_analysis_path("mck3test_w30_t20");
86 m2.load( saved_analysis_path );
89 BOOST_CHECK_EQUAL( m2.get_name(), saved_analysis_path );
90 BOOST_CHECK_EQUAL( m1.size(), m2.size() );
94 BOOST_AUTO_TEST_CASE( mussa_load_full_path )
98 const int bufsize = 1024;
99 char path_buf[bufsize];
100 getcwd(path_buf, bufsize);
101 std::string path(path_buf);
103 path += "/mck3test.mupa";
104 m1.load_mupa_file( path );
107 BOOST_CHECK( m1.size() > 0);