Implement an optional name in the motif parser
[mussa.git] / alg / test / test_mussa.cpp
index 4b88c242e5ff4b5dfb8a6342cfeea1e3009c79fb..bebb38d2548e2cec34b43d642ac73c33627ec413 100644 (file)
@@ -173,7 +173,7 @@ BOOST_AUTO_TEST_CASE( mussa_load_motif )
 
   Mussa m1;
   m1.append_sequence("AAAAGGGGTTTT");
-  m1.append_sequence("GGGCCCCTTGGTT");
+  m1.append_sequence("GGGCCCCTTCCAATT");
   m1.load_motifs(test_istream);
 
   for (Mussa::vector_sequence_type::const_iterator seq_i = m1.sequences().begin();
@@ -184,6 +184,21 @@ BOOST_AUTO_TEST_CASE( mussa_load_motif )
   }
 }
 
+BOOST_AUTO_TEST_CASE( mussa_named_motif )
+{
+  string data = "CCAATT cat 0.1 0.2 0.3\n";
+  istringstream test_istream(data);
+
+  Mussa m1;
+  m1.append_sequence("AAAAGGGGTTTT");
+  m1.append_sequence("GGGCCCCTTCCAATT");
+  m1.load_motifs(test_istream);
+
+  std::set<Sequence> motifs = m1.motifs();
+  BOOST_REQUIRE_EQUAL(motifs.size(), 1);
+  BOOST_CHECK_EQUAL(motifs.begin()->get_name(), "cat");
+}
+
 BOOST_AUTO_TEST_CASE( mussa_add_motif )
 {
   vector<Sequence> motifs;