X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=mussa.git;a=blobdiff_plain;f=alg%2Ftest%2Ftest_glsequence.cpp;h=bd528d30ffe75d5df7aff874ab24446bed8f8ff2;hp=37b76ee06f2fe65fe322b871ce0b5f2e23818e74;hb=f3e6762bedaf3775619a36f4103c8cf35d2ca887;hpb=a5fdb434dd0e6d18fe98e9ee57cb5169ce4c5842 diff --git a/alg/test/test_glsequence.cpp b/alg/test/test_glsequence.cpp index 37b76ee..bd528d3 100644 --- a/alg/test/test_glsequence.cpp +++ b/alg/test/test_glsequence.cpp @@ -14,7 +14,6 @@ using namespace std; BOOST_AUTO_TEST_CASE ( glsequence_operator_assignment ) { boost::shared_ptr cm(new AnnotationColors); - // I don't trust my operator= hack so lets make sure it works. string s0("AAGGCCTT"); string s1("TTGGCCAA"); Sequence seq0(s0); @@ -32,6 +31,36 @@ BOOST_AUTO_TEST_CASE ( glsequence_operator_assignment ) BOOST_CHECK( glseq0.get_sequence() == s1 ); } +BOOST_AUTO_TEST_CASE( glsequence_copy_constructor ) +{ + boost::shared_ptr cm(new AnnotationColors); + string s0("AAAAAAGGGGGG"); + + GlSequenceRef glsp0(new GlSequence(s0, cm)); + glsp0->setY(100.0); + BOOST_CHECK_EQUAL(glsp0->get_sequence(), s0); + BOOST_CHECK_EQUAL(glsp0->y(), 100.0); + + GlSequenceRef glsp0ref(glsp0); + GlSequenceRef glsp0copy(new GlSequence(glsp0)); + BOOST_CHECK_EQUAL(glsp0->get_sequence(), s0); + BOOST_CHECK_EQUAL(glsp0->y(), 100.0); + BOOST_CHECK_EQUAL(glsp0ref->get_sequence(), s0); + BOOST_CHECK_EQUAL(glsp0ref->y(), 100.0); + BOOST_CHECK_EQUAL(glsp0copy->get_sequence(), s0); + BOOST_CHECK_EQUAL(glsp0copy->y(), 100.0); + + glsp0ref->setY(50.0); + BOOST_CHECK_EQUAL(glsp0->y(), 50.0); + BOOST_CHECK_EQUAL(glsp0ref->y(), 50.0); + BOOST_CHECK_EQUAL(glsp0copy->y(), 100.0); + + glsp0copy->setY(75.0); + BOOST_CHECK_EQUAL(glsp0->y(), 50.0); + BOOST_CHECK_EQUAL(glsp0ref->y(), 50.0); + BOOST_CHECK_EQUAL(glsp0copy->y(), 75.0); +} + BOOST_AUTO_TEST_CASE( glsequence_color ) { boost::shared_ptr cm(new AnnotationColors);