X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=code_ruby%2Ftest%2Fmaasha%2Ftest_seq.rb;h=8bc6852927235b939414d80a02329b3b5490def7;hb=b982cc677363d7458963b610ec53bf2c4f7476a9;hp=f966a5fa47b2387c74f1c2a785b6f8e49082f1be;hpb=124ad80bd42309d1e6ea7d10dcffb86938c29069;p=biopieces.git diff --git a/code_ruby/test/maasha/test_seq.rb b/code_ruby/test/maasha/test_seq.rb index f966a5f..8bc6852 100755 --- a/code_ruby/test/maasha/test_seq.rb +++ b/code_ruby/test/maasha/test_seq.rb @@ -219,7 +219,15 @@ class TestSeq < Test::Unit::TestCase def test_Seq_reverse_returns_correctly @entry.seq = "ATCG" - assert_equal("GCTA", @entry.reverse.seq) + new_entry = @entry.reverse + assert_equal("GCTA", new_entry.seq) + assert_equal("ATCG", @entry.seq) + end + + def test_Seq_reverse_bang_returns_correctly + @entry.seq = "ATCG" + @entry.reverse! + assert_equal("GCTA", @entry.seq) end def test_Seq_complement_raises_if_no_sequence @@ -236,27 +244,43 @@ class TestSeq < Test::Unit::TestCase def test_Seq_complement_for_DNA_is_correct @entry.seq = 'ATCGatcg' @entry.type = 'dna' - assert_equal("TAGCtagc", @entry.complement) + comp = @entry.complement + assert_equal("TAGCtagc", comp.seq) + assert_equal("ATCGatcg", @entry.seq) end def test_Seq_complement_for_RNA_is_correct @entry.seq = 'AUCGaucg' @entry.type = 'rna' - assert_equal("UAGCuagc", @entry.complement) + comp = @entry.complement + assert_equal("UAGCuagc", comp.seq) + assert_equal("AUCGaucg", @entry.seq) + end + + def test_Seq_complement_bang_raises_if_no_sequence + @entry.type = 'dna' + assert_raise(SeqError) { @entry.complement! } + end + + def test_Seq_complement_bang_raises_on_bad_type + @entry.seq = 'ATCG' + @entry.type = 'protein' + assert_raise(SeqError) { @entry.complement! } end - def test_Seq_reverse_complement_for_DNA_is_correct + def test_Seq_complement_bang_for_DNA_is_correct @entry.seq = 'ATCGatcg' @entry.type = 'dna' - assert_equal("cgatCGAT", @entry.reverse_complement.seq) + assert_equal("TAGCtagc", @entry.complement!.seq) end - def test_Seq_reverse_complement_for_RNA_is_correct + def test_Seq_complement_bang_for_RNA_is_correct @entry.seq = 'AUCGaucg' @entry.type = 'rna' - assert_equal("cgauCGAU", @entry.reverse_complement.seq) + assert_equal("UAGCuagc", @entry.complement!.seq) end + def test_Seq_hamming_distance_returns_correctly seq1 = Seq.new("test1", "ATCG") seq2 = Seq.new("test2", "atgg")