+#define BOOST_TEST_DYN_LINK
+#define BOOST_TEST_MODULE test_flp
+#include <boost/test/auto_unit_test.hpp>
+
#include <iostream>
#include <list>
-#include <boost/test/auto_unit_test.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/path.hpp>
+namespace fs = boost::filesystem;
#include "alg/flp.hpp"
#include "alg/sequence.hpp"
#include <iostream>
#include <list>
+#include "mussa_exceptions.hpp"
+
BOOST_AUTO_TEST_CASE( flp_simple )
{
FLPs f;
f.setup(5, 4);
+ // when we first setup progress should be equal to -1
+ // aka FLPs::seqcomp_not_running
+ BOOST_CHECK_EQUAL( f.progress(), -1 );
f.seqcomp("AAGGTAAGGT", "AAGGTAAGGT", false);
+ // now that we're done we should be equal to not running again.
+ // yeah it'd be nice to make a thread test
+ BOOST_CHECK_EQUAL( f.progress(), -1 );
// are the match_locations correct?
for (int i=0; i != f.size(); i++)
Sequence s1("AAAATTTT");
Sequence s2("AACAGGGG");
f1.setup(4,3);
- f1.seqcomp(s1.get_seq(), s2.get_seq(), false);
- f1.seqcomp(s1.get_seq(), s2.rev_comp(), true);
+ f1.seqcomp(s1, s2, false);
+ f1.seqcomp(s1, s2.rev_comp(), true);
FLPs f2;
f2.setup(4,3);
- f2.seqcomp(s1.get_seq(), s2.rev_comp(), true);
- f2.seqcomp(s1.get_seq(), s2.get_seq(), false);
+ f2.seqcomp(s1, s2.rev_comp(), true);
+ f2.seqcomp(s1, s2, false);
// The order of doing the reverse compliment search shouldn't matter
// when we're using exactly the same sequence
// FIXME: should we test the individual lists?
}
}
+
+BOOST_AUTO_TEST_CASE( flp_file_check )
+{
+ fs::path filename = "Thy_micturations_are_to_me_as_plurdled_gabbleblotchits";
+ FLPs f1;
+ BOOST_CHECK_THROW( f1.load(filename), mussa_load_error);
+}