#include <boost/test/auto_unit_test.hpp>
+#include <boost/filesystem/path.hpp>
#include <boost/filesystem/operations.hpp>
namespace fs = boost::filesystem;
#include <boost/assign/list_of.hpp>
BOOST_AUTO_TEST_CASE( mussa_simple )
{
Mussa m;
+ BOOST_CHECK_EQUAL(m.empty(), true);
BOOST_CHECK_EQUAL(m.get_name(), "" );
BOOST_CHECK_EQUAL(m.get_window(), 0);
BOOST_CHECK_EQUAL(m.get_threshold(), 0);
BOOST_CHECK_EQUAL(m.get_soft_threshold(), 25);
m.set_analysis_mode(Mussa::RadialNway);
BOOST_CHECK_EQUAL(m.get_analysis_mode(), Mussa::RadialNway);
+ // make sure our path is empty
+ BOOST_CHECK_EQUAL(m.get_analysis_path().string(), fs::path().string() );
m.clear();
BOOST_CHECK_EQUAL(m.get_name(), "" );
std::string s2("TTTTNNNN");
Mussa analysis;
+ BOOST_CHECK_EQUAL(analysis.empty(), true);
analysis.append_sequence(s0);
analysis.append_sequence(s1);
analysis.append_sequence(s2);
+ BOOST_CHECK_EQUAL( analysis.empty(), false);
BOOST_CHECK_EQUAL( analysis.sequences().size(), 3 );
BOOST_CHECK_EQUAL( *(analysis.sequences()[0]), s0);
BOOST_CHECK_EQUAL( *(analysis.sequences()[1]), s1);
m1.load_mupa_file( mupa_path );
m1.analyze();
m1.save( result_path );
+ BOOST_CHECK_EQUAL( m1.empty(), false);
BOOST_CHECK_EQUAL( m1.get_name(), std::string("mck3test") );
BOOST_CHECK( m1.size() > 0 );
+ BOOST_CHECK_EQUAL( m1.get_analysis_path().string(), result_path.string());
Mussa m2;
m2.load( result_path );
+ BOOST_CHECK_EQUAL( m2.empty(), false);
BOOST_CHECK_EQUAL( m2.get_name(), result_path.leaf() );
BOOST_CHECK_EQUAL( m1.size(), m2.size() );
+ BOOST_CHECK_EQUAL( result_path.string(), m2.get_analysis_path().string() );
+
+ // check clear a bit
+ m2.clear();
+ BOOST_CHECK_EQUAL( m2.empty(), true);
+ BOOST_CHECK_EQUAL( m2.is_dirty(), false );
+ BOOST_CHECK_EQUAL( m2.get_analysis_path().string(), fs::path().string());
}
BOOST_AUTO_TEST_CASE( mussa_load_full_path )
BOOST_CHECK( m1.size() > 0);
BOOST_CHECK_EQUAL( m1.get_window(), 30 );
BOOST_CHECK_EQUAL( m1.get_threshold(), 20);
+ BOOST_CHECK_EQUAL( m1.is_dirty(), true);
+ BOOST_CHECK_EQUAL( m1.get_analysis_path().string(), "");
}
-BOOST_AUTO_TEST_CASE( mussa_mupa_directory )
+// make sure we know that mupa files cannot be directories
+BOOST_AUTO_TEST_CASE( mussa_mupa_is_file_not_directory )
{
fs::path curdir(".");
Mussa m1;
m1.analyze();
Mussa m2;
- m2.load( fs::initial_path() / "mck3test_w30_t20");
+ fs::path analysis_path = fs::initial_path() / "mck3test_w30_t20";
+ m2.load( analysis_path );
BOOST_CHECK_EQUAL( m1.size(), m2.size() );
BOOST_CHECK_EQUAL( m1.get_window(), m2.get_window() );
BOOST_CHECK_EQUAL( m1.get_threshold(), m2.get_threshold() );
+ BOOST_CHECK_EQUAL( m2.get_analysis_path().string(), analysis_path.string());
}
BOOST_AUTO_TEST_CASE( mussa_load_motif )