extend annotation names and types to allow punctuation
[mussa.git] / alg / test / test_sequence.cpp
index 1d9051010ac6486a23f3d76e691b97bc16304f09..f98f236394099793b9050784bef6a830668a2fda 100644 (file)
@@ -106,6 +106,7 @@ BOOST_AUTO_TEST_CASE( annotation_load )
                       "GCT\n"
                       "gCTn\n"
                       "75\t90\tname2\ttype2\n"
+                      "100 120 name-asdf type!@#$%\n"
                       ;
   string s(100, 'A');
   s += "GCTGCTAATT";
@@ -115,7 +116,7 @@ BOOST_AUTO_TEST_CASE( annotation_load )
   seq.parse_annot(annot_data, 0, 0);
   std::list<annot> annots_list = seq.annotations();
   std::vector<annot> annots(annots_list.begin(), annots_list.end());
-  BOOST_REQUIRE_EQUAL( annots.size(), 7);
+  BOOST_REQUIRE_EQUAL( annots.size(), 8);
   BOOST_CHECK_EQUAL( annots[0].start, 0 );
   BOOST_CHECK_EQUAL( annots[0].end, 10 );
   BOOST_CHECK_EQUAL( annots[0].type, "type");
@@ -126,10 +127,14 @@ BOOST_AUTO_TEST_CASE( annotation_load )
   BOOST_CHECK_EQUAL( annots[4].name, "backward");
   BOOST_CHECK_EQUAL( annots[5].name, "name2");
   BOOST_CHECK_EQUAL( annots[5].end, 90);
+  BOOST_CHECK_EQUAL( annots[6].start, 100);
+  BOOST_CHECK_EQUAL( annots[6].end, 120);
+  BOOST_CHECK_EQUAL( annots[6].name, "name-asdf");
+  BOOST_CHECK_EQUAL( annots[6].type, "type!@#$%");
   // sequence defined annotations will always be after the
   // absolute positions
-  BOOST_CHECK_EQUAL( annots[6].name, "ident3 asdf");
-  BOOST_CHECK_EQUAL( annots[6].start, 100);
+  BOOST_CHECK_EQUAL( annots[7].name, "ident3 asdf");
+  BOOST_CHECK_EQUAL( annots[7].start, 100);
 
   //BOOST_CHECK_EQUAL( annots
 }