]> git.donarmstrong.com Git - biopieces.git/blobdiff - code_ruby/test/maasha/test_seq.rb
added << method to Seq.rb
[biopieces.git] / code_ruby / test / maasha / test_seq.rb
index 8ec6f977cc69f75f9c61f36d29359eb1ca7dbc4a..4a68d67b080b0ed220ae8fb18d7dfed83c1750fa 100755 (executable)
@@ -333,6 +333,46 @@ class TestSeq < Test::Unit::TestCase
     assert_not_equal(@entry.seq, @entry.shuffle!.seq)
   end
 
+  test "#<< with different types raises" do
+    @entry.seq = "atcg"
+    assert_raise(SeqError) { @entry << Seq.new("test", "atcg", "dna") }
+  end
+
+  test "#<< with missing qual in one entry raises" do
+    @entry.seq  = "atcg"
+    @entry.type = "dna"
+    assert_raise(SeqError) { @entry << Seq.new("test", "atcg", "dna", "IIII") }
+    @entry.qual = "IIII"
+    assert_raise(SeqError) { @entry << Seq.new("test", "atcg", "dna") }
+  end
+
+  test "#<< with nil qual in both entries dont raise" do
+    @entry.seq = "atcg"
+    assert_nothing_raised { @entry << Seq.new("test", "atcg") }
+  end
+
+  test "#<< with qual in both entries dont raise" do
+    @entry.seq  = "atcg"
+    @entry.type = "dna"
+    @entry.qual = "IIII"
+    assert_nothing_raised { @entry << Seq.new("test", "atcg", "dna", "IIII") }
+  end
+
+  test "#<< without qual returns correctly" do
+    @entry.seq  = "atcg"
+    @entry <<  Seq.new("test", "ATCG")
+    assert_equal("atcgATCG", @entry.seq)
+  end
+
+  test "#<< with qual returns correctly" do
+    @entry.seq  = "atcg"
+    @entry.type = "dna"
+    @entry.qual = "HHHH"
+    @entry <<  Seq.new("test", "ATCG", "dna", "IIII")
+    assert_equal("atcgATCG", @entry.seq)
+    assert_equal("HHHHIIII", @entry.qual)
+  end
+
   test "#subseq with start < 0 raises" do
     @entry.seq = "ATCG"
     assert_raise(SeqError) { @entry.subseq(-1, 1) }