diff --git a/modules/seq/base/tests/test_aligned_region.cc b/modules/seq/base/tests/test_aligned_region.cc index 93acaf4aa7c4f0034130aa4aab25264dfb2a8956..249da58065d52c544774c8cf8b3dbe4c4bbbf3e6 100644 --- a/modules/seq/base/tests/test_aligned_region.cc +++ b/modules/seq/base/tests/test_aligned_region.cc @@ -105,18 +105,47 @@ BOOST_AUTO_TEST_CASE(aligned_region_replace) a1.AddSequence(seq11); a1.AddSequence(seq12); AlignedRegion ar1 = a1.MakeRegion(1,2); - AlignmentHandle a2 = CreateAlignment(); SequenceHandle seq21 = CreateSequence("S1","zzzzzzz"); SequenceHandle seq22 = CreateSequence("S2","ee-----"); a2.AddSequence(seq21); a2.AddSequence(seq22); AlignedRegion ar2 = a2.MakeRegion(1,2); - ar1.Replace(ar2); BOOST_CHECK_EQUAL(a1.GetSequence(0).GetString(),"azzcdef"); BOOST_CHECK_EQUAL(a1.GetSequence(1).GetString(),"ge-jk-l"); + a1 = CreateAlignment(); + seq11 = CreateSequence("S1","ab-cdef"); + seq12 = CreateSequence("S2","ghijk-l"); + a1.AddSequence(seq11); + a1.AddSequence(seq12); + ar1 = a1.MakeRegion(1,2); + a2 = CreateAlignment(); + seq21 = CreateSequence("S1","zzzzzzz"); + seq22 = CreateSequence("S2","ee-----"); + a2.AddSequence(seq21); + a2.AddSequence(seq22); + ar2 = a2.MakeRegion(1,0); + ar1.Replace(ar2); + BOOST_CHECK_EQUAL(a1.GetSequence(0).GetString(),"acdef"); + BOOST_CHECK_EQUAL(a1.GetSequence(1).GetString(),"gjk-l"); + + a1 = CreateAlignment(); + seq11 = CreateSequence("S1","ab-cdef"); + seq12 = CreateSequence("S2","ghijk-l"); + a1.AddSequence(seq11); + a1.AddSequence(seq12); + ar1 = a1.MakeRegion(1,2); + a2 = CreateAlignment(); + seq21 = CreateSequence("S1","zzzzzzz"); + seq22 = CreateSequence("S2","ee-----"); + a2.AddSequence(seq21); + a2.AddSequence(seq22); + ar2 = a2.MakeRegion(1,3); + ar1.Replace(ar2); + BOOST_CHECK_EQUAL(a1.GetSequence(0).GetString(),"azzzcdef"); + BOOST_CHECK_EQUAL(a1.GetSequence(1).GetString(),"ge--jk-l"); } BOOST_AUTO_TEST_CASE(aligned_region_shift)