add function for marking 'N' regions
[mussa.git] / alg / test / test_glsequence.cpp
index bd528d30ffe75d5df7aff874ab24446bed8f8ff2..0c00fb1271857e79c631ad0ab445600eaeacee85 100644 (file)
@@ -74,6 +74,23 @@ BOOST_AUTO_TEST_CASE( glsequence_color )
   BOOST_CHECK_EQUAL( *(s.color()), *c );
 }
 
+BOOST_AUTO_TEST_CASE( glsequence_find_null_sequence )
+{
+  boost::shared_ptr<AnnotationColors> cm(new AnnotationColors);
+  GlSequence s("AAAAAAAAAANNNNNANAN", cm);
+  //            0123456789012345678
+  s.add_annotations_for_undefined_sequence();
+  
+  BOOST_CHECK_EQUAL(s.annotations().size(), 3);
+  std::vector<SeqSpanRef> annot(s.annotations().begin(), s.annotations().end());
+  BOOST_CHECK_EQUAL(annot[0]->start(), 10);
+  BOOST_CHECK_EQUAL(annot[0]->stop(), 15);
+  BOOST_CHECK_EQUAL(annot[1]->start(), 16);
+  BOOST_CHECK_EQUAL(annot[1]->size(), 1);
+  BOOST_CHECK_EQUAL(annot[2]->start(), 18);
+  BOOST_CHECK_EQUAL(annot[2]->size(), 1);
+}
+
 BOOST_AUTO_TEST_CASE( glsequence_renderable )
 {
   boost::shared_ptr<AnnotationColors> cm(new AnnotationColors);