-#define BOOST_AUTO_TEST_MAIN
-#include <boost/test/auto_unit_test.hpp>
+#define BOOST_TEST_DYN_LINK
+#define BOOST_TEST_MODULE test_seq_span
+#include <boost/test/unit_test.hpp>
#include "seq_span.hpp"
#include "mussa_exceptions.hpp"
BOOST_CHECK_EQUAL(span3->sequence(), str1);
}
+BOOST_AUTO_TEST_CASE( seqspan_copy )
+{
+ SeqSpanRef span1(new SeqSpan("AAAAGGGG"));
+ SeqSpanRef span2 = span1->subseq(0,4);
+ SeqSpanRef span2ref(span2);
+ SeqSpanRef span2copy(new SeqSpan(span2));
+
+ BOOST_CHECK_EQUAL(span2->start(), 0);
+ BOOST_CHECK_EQUAL(span2ref->start(), 0);
+ BOOST_CHECK_EQUAL(span2copy->start(), 0);
+
+ span2->setStart(2);
+ BOOST_CHECK_EQUAL(span2->start(), 2);
+ BOOST_CHECK_EQUAL(span2ref->start(), 2);
+ BOOST_CHECK_EQUAL(span2copy->start(), 0);
+}
+
BOOST_AUTO_TEST_CASE( seqspan_equality )
{
std::string str1("AAGGCCTT");
BOOST_CHECK_EQUAL(SeqSpan::isFamily(*span2, *span3), false);
}
+BOOST_AUTO_TEST_CASE( seqspan_parents )
+{
+ std::string str1("AAGGCCTT");
+ std::string str2("AACCGGTT");
+ SeqSpanRef s1(new SeqSpan(str1));
+ SeqSpanRef s1_1 = s1->subseq(2,4);
+ SeqSpanRef s2(new SeqSpan(str2));
+ SeqSpanRef s2_1 = s2->subseq(0,2);
+
+ BOOST_CHECK_EQUAL(s1, s1_1->parent());
+ BOOST_CHECK_EQUAL(s2, s2_1->parent());
+ BOOST_CHECK(s1 != s2_1->parent());
+ BOOST_CHECK(s2 != s1_1->parent());
+
+ SeqSpanRef s2_copy = s2;
+
+ BOOST_CHECK_EQUAL(s2_copy, s2_1->parent());
+}
+
BOOST_AUTO_TEST_CASE( seqspan_find_first_not_of )
{
std::string str1("AAAAT");
BOOST_CHECK_EQUAL(seq2->sequence(), "AAAA");
SeqSpanRef seq3 = seq1->subseq(0,4,SeqSpan::MinusStrand);
BOOST_CHECK_EQUAL(seq3->sequence(), "TTTT");
-}
\ No newline at end of file
+}
+