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) }