X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=mussa.git;a=blobdiff_plain;f=alg%2Ftest%2Ftest_mussa.cpp;h=5255fe26d7a309130c99b0369bbb8749fba7298a;hp=55188eab8052b9e128d4470d2dd33ef1911644ec;hb=97498410e1fc5c39eac0282a6620b8fcb0f02ff3;hpb=6317e56b965b35eb20abbd3c383cba487908bf39 diff --git a/alg/test/test_mussa.cpp b/alg/test/test_mussa.cpp index 55188ea..5255fe2 100644 --- a/alg/test/test_mussa.cpp +++ b/alg/test/test_mussa.cpp @@ -1,5 +1,7 @@ -#define BOOST_AUTO_TEST_MAIN -#include +#define BOOST_TEST_DYN_LINK +#define BOOST_TEST_MODULE test_mussa +#include + #include #include namespace fs = boost::filesystem; @@ -110,6 +112,58 @@ BOOST_AUTO_TEST_CASE ( empty_mussa_set_threshold ) m.nway(); } +BOOST_AUTO_TEST_CASE( mussa_load_mupa_crlf ) +{ + fs::path example_path(EXAMPLE_DIR, fs::native); + fs::path seq_path(example_path / "seq" / "mouse_mck_pro.fa"); + fs::path annot_path(example_path / "mm_mck3test.annot"); + + std::string mupa( + "# hello\015\012" + "ANA_NAME load_mupa_crlf\015\012"); + mupa += "SEQUENCE " + seq_path.native_file_string() + "\015\012"; + mupa += "ANNOTATION " + annot_path.native_file_string() + "\015\012"; + + istringstream mupa_stream(mupa); + Mussa m; + fs::path base; + m.load_mupa_stream( mupa_stream, base ); + // Should run with no exceptions +} + +BOOST_AUTO_TEST_CASE( mussa_load_mupa_comment_character ) +{ + fs::path mupa_path(EXAMPLE_DIR, fs::native); + fs::path seq_path = fs::initial_path() / "seq" / "mouse_mck_pro.fa"; + fs::path annot_path = fs::initial_path() / "mm_mck3test.annot"; + + std::string mupa( + "# hello\015\012" + "ANA_NAME load_mupa_crlf\015\012"); + mupa += "#SEQUENCE " + seq_path.native_file_string() + "\015\012"; + mupa += "#ANNOTATION " + annot_path.native_file_string() + "\015\012"; + + istringstream mupa_stream(mupa); + Mussa m; + fs::path base; + m.load_mupa_stream( mupa_stream, base ); + // Should run with no exceptions +} + +BOOST_AUTO_TEST_CASE( mussa_load_mupa_exception ) +{ + std::string mupa( + "# hello\015\012" + "ANA_NAME load_mupa_crlf\015\012" + "mwahhaha I broke you!\n" + ); + + istringstream mupa_stream(mupa); + Mussa m; + fs::path base; + BOOST_CHECK_THROW(m.load_mupa_stream( mupa_stream, base ), mussa_load_error); +} + BOOST_AUTO_TEST_CASE( mussa_load_mupa ) { fs::path mupa_path(EXAMPLE_DIR, fs::native);