show where the Ns are
[mussa.git] / qui / seqbrowser / test / TestSequenceBrowserWidget.hpp
index fc82648f2babda60187e9ae5fd5aa32150c7d6b0..cf60757b82b1e226134c42144b66cded96711486 100644 (file)
@@ -112,5 +112,36 @@ private slots:
     QVERIFY(glseqs2[0]->colorMapper() == m->colorMapper());
     QVERIFY(glseqs2[0]->colorMapper()->lookup("motif", aacc) == colors1[0]);
   }  
+  
+  void testAnnotationsInTwoBrowsers()
+  {
+    // Make sure that our annotations parent is pointing to the 
+    // most right seqspan parent
+    boost::shared_ptr<AnnotationColors> cm(new AnnotationColors);
+    std::vector<SequenceRef> seqs;
+    SequenceRef seq0(new Sequence("AAAAGGGG"));
+    seq0->add_annotation("A","A", 0, 4);
+    seqs.push_back(seq0);
+    SequenceRef seq1(new Sequence("GGGGTTTT"));
+    seqs.push_back(seq1);
+
+    QVERIFY(seq0->annotations().size() == 1);
+    QVERIFY(seq0->seqspan() == seq0->annotations().front()->parent() );
+    
+    boost::shared_ptr<QDir> d(new QDir("."));
+    SequenceBrowserWidget *b1 = new SequenceBrowserWidget(d);
+    b1->setSequences(seqs, cm );
+    QVERIFY( b1->sequences().size() == 2);
+    QVERIFY( b1->sequences()[0]->annotations().size() == 1 );
+    QVERIFY( b1->sequences()[0]->seqspan() == 
+             b1->sequences()[0]->annotations().front()->parent() );
+
+    SequenceBrowserWidget *b2 = new SequenceBrowserWidget(d);
+    b2->setSequences(seqs, cm);
+    
+    QVERIFY( b2->sequences()[0]->annotations().size() == 1 );
+    QVERIFY( b2->sequences()[0]->seqspan() == 
+             b2->sequences()[0]->annotations().front()->parent() );
+  }
 };
 #endif /*TESTSEQUENCEBROWSERWIDGET_HPP_*/