X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=mussa.git;a=blobdiff_plain;f=alg%2Ftest%2Ftest_seq_span.cpp;h=9e22f3cb3f93fed3425d9a6106c6c12c8660dddb;hp=b646c1fe41480573598014f59476ba04731338dc;hb=97498410e1fc5c39eac0282a6620b8fcb0f02ff3;hpb=f9349a646de1ad1ad8f9334b5556c5ae3d50b666 diff --git a/alg/test/test_seq_span.cpp b/alg/test/test_seq_span.cpp index b646c1f..9e22f3c 100644 --- a/alg/test/test_seq_span.cpp +++ b/alg/test/test_seq_span.cpp @@ -1,5 +1,6 @@ -#define BOOST_AUTO_TEST_MAIN -#include +#define BOOST_TEST_DYN_LINK +#define BOOST_TEST_MODULE test_seq_span +#include #include "seq_span.hpp" #include "mussa_exceptions.hpp" @@ -73,6 +74,23 @@ BOOST_AUTO_TEST_CASE( seqspan_from_seqspan ) 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"); @@ -90,6 +108,25 @@ BOOST_AUTO_TEST_CASE( seqspan_equality ) 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"); @@ -400,4 +437,5 @@ BOOST_AUTO_TEST_CASE( seqspan_strand_plusminus ) 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 +} +