X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=mussa.git;a=blobdiff_plain;f=alg%2Ftest%2Ftest_nway.cpp;h=9c7d34233ffae87ff562ecdf35d7bef3f817586b;hp=68ee988d4cb65187699d9b604c78cdd4eda2a817;hb=HEAD;hpb=8895e01b45d6df1973490d779c9051811f056cae diff --git a/alg/test/test_nway.cpp b/alg/test/test_nway.cpp index 68ee988..9c7d342 100644 --- a/alg/test/test_nway.cpp +++ b/alg/test/test_nway.cpp @@ -1,4 +1,7 @@ -#include +#define BOOST_TEST_DYN_LINK +#define BOOST_TEST_MODULE test_nway +#include + #include namespace fs = boost::filesystem; @@ -19,11 +22,18 @@ BOOST_AUTO_TEST_CASE( nway_null ) string s2("TTTTNNNN"); Mussa analysis; - analysis.add_a_seq(s0); - analysis.add_a_seq(s1); - analysis.add_a_seq(s2); - analysis.analyze(4,3); + analysis.append_sequence(s0); + analysis.append_sequence(s1); + analysis.append_sequence(s2); + analysis.set_window(4); + analysis.set_threshold(3); + analysis.analyze(); NwayPaths npath = analysis.paths(); + // we added 3 sequences, but none-matched + BOOST_CHECK_EQUAL( npath.sequence_count(), 0); + BOOST_CHECK_EQUAL( npath.size(), 0 ); + BOOST_CHECK_EQUAL( npath.path_size(), 0 ); + BOOST_CHECK_EQUAL( npath.refined_path_size(), 0 ); // there should be no paths for these sequences for (std::list::iterator pathz_i = npath.pathz.begin(); pathz_i != npath.pathz.end(); @@ -40,10 +50,16 @@ BOOST_AUTO_TEST_CASE( nway_test ) Sequence seq1(s1); Mussa analysis; - analysis.add_a_seq(s0); - analysis.add_a_seq(s1); - analysis.analyze(4,3); + analysis.append_sequence(s0); + analysis.append_sequence(s1); + analysis.set_window(4); + analysis.set_threshold(3); + analysis.analyze(); NwayPaths npath = analysis.paths(); + BOOST_CHECK_EQUAL( npath.sequence_count(), 2); + BOOST_CHECK_EQUAL( npath.size(), 2 ); + BOOST_CHECK_EQUAL( npath.path_size(), 2 ); + BOOST_CHECK_EQUAL( npath.refined_path_size(), 2 ); for (std::list::iterator pathz_i = npath.pathz.begin(); pathz_i != npath.pathz.end(); ++pathz_i) @@ -59,23 +75,27 @@ BOOST_AUTO_TEST_CASE( nway_test ) BOOST_AUTO_TEST_CASE( nway_refine ) { - fs::path mupa_path( EXAMPLE_DIR ); + fs::path mupa_path( EXAMPLE_DIR, fs::native ); mupa_path /= "mck3test.mupa"; Mussa m1; m1.load_mupa_file( mupa_path ); - m1.analyze(0, 0); + m1.analyze(); const NwayPaths& npath = m1.paths(); - BOOST_CHECK_EQUAL (npath.path_size(), npath.refined_path_size()); + //BOOST_CHECK_EQUAL (npath.path_size(), npath.refined_path_size()); + // FIXME: shouldn't these be equal to start with? + BOOST_CHECK(npath.path_size() > npath.refined_path_size()); size_t first_refined_size = npath.refined_path_size(); BOOST_CHECK( first_refined_size > 0 ); // we're using a window size 30 (threshold 20) example - m1.set_soft_thres(22); + m1.set_soft_threshold(22); m1.nway(); + BOOST_CHECK_EQUAL( npath.path_size(), npath.size() ); + BOOST_CHECK( npath.path_size() > 0 ); BOOST_CHECK( npath.refined_path_size() > 0); BOOST_CHECK( npath.refined_path_size() < first_refined_size); - m1.set_soft_thres(20); + m1.set_soft_threshold(20); m1.nway(); BOOST_CHECK_EQUAL(npath.refined_path_size(), first_refined_size); } @@ -179,11 +199,13 @@ GTTTTAATAAATGCACAATGCTCTCTTCCTGTTCTTC"; // now that we've got some data lets see if it crashes Mussa m1; - m1.add_a_seq(seq1); - m1.add_a_seq(seq2); - m1.add_a_seq(seq3); + m1.append_sequence(seq1); + m1.append_sequence(seq2); + m1.append_sequence(seq3); - m1.analyze(10, 8); - m1.set_soft_thres(10); + m1.set_window(10); + m1.set_threshold(8); + m1.analyze(); + m1.set_soft_threshold(10); m1.nway(); }