From: martinahansen Date: Tue, 30 Jun 2009 18:39:51 +0000 (+0000) Subject: added unit testing for ruby X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=74b77379918ed11c827f5caba6e9e012a1cc106a;p=biopieces.git added unit testing for ruby git-svn-id: http://biopieces.googlecode.com/svn/trunk@547 74ccb610-7750-0410-82ae-013aeee3265d --- diff --git a/code_ruby/Maasha/test/test_seq.rb b/code_ruby/Maasha/test/test_seq.rb index 5eddd7e..95b25a9 100755 --- a/code_ruby/Maasha/test/test_seq.rb +++ b/code_ruby/Maasha/test/test_seq.rb @@ -4,106 +4,165 @@ require 'Maasha/lib/seq' require 'test/unit' class TestSeq < Test::Unit::TestCase - def test_Seq_new - my_seq1 = Seq.new - assert_equal( nil, my_seq1.seq ) - assert_equal( nil, my_seq1.seq_type ) - - my_seq2 = Seq.new( "ATCG" ) - assert_equal( "ATCG", my_seq2.seq ) - assert_equal( nil, my_seq2.seq_type ) - - my_seq3 = Seq.new( "ATCG", "DNA" ) - assert_equal( "ATCG", my_seq3.seq ) - assert_equal( "DNA", my_seq3.seq_type ) + def test_Seq_initialize_with_0_args + my_seq = Seq.new + assert_equal( nil, my_seq.seq ) + assert_equal( nil, my_seq.seq_type ) + end + + def test_Seq_initialize_with_1_args + my_seq = Seq.new( "ATCG" ) + assert_equal( "ATCG", my_seq.seq ) + assert_equal( nil, my_seq.seq_type ) + end + + def test_Seq_initialize_with_2_args + my_seq = Seq.new( "ATCG", "DNA" ) + assert_equal( "ATCG", my_seq.seq ) + assert_equal( "DNA", my_seq.seq_type ) end - def test_seq_type_guess + def test_seq_type_guess_DNA my_seq = Seq.new my_seq.seq = "ATCG" assert_equal( "DNA", my_seq.seq_type_guess ) assert_equal( nil, my_seq.seq_type ) - my_seq.seq = "AUCG" - assert_equal( "RNA", my_seq.seq_type_guess ) + my_seq.seq = "atcg" + assert_equal( "DNA", my_seq.seq_type_guess ) assert_equal( nil, my_seq.seq_type ) + end - my_seq.seq = "SEQ" - assert_equal( "AA", my_seq.seq_type_guess ) - assert_equal( nil, my_seq.seq_type ) + def test_seq_type_guess_RNA + my_seq = Seq.new - my_seq.seq = "atcg" - assert_equal( "DNA", my_seq.seq_type_guess ) + my_seq.seq = "AUCG" + assert_equal( "RNA", my_seq.seq_type_guess ) assert_equal( nil, my_seq.seq_type ) my_seq.seq = "aucg" assert_equal( "RNA", my_seq.seq_type_guess ) assert_equal( nil, my_seq.seq_type ) + end + + def test_seq_type_guess_AA + my_seq = Seq.new + + my_seq.seq = "SEQ" + assert_equal( "AA", my_seq.seq_type_guess ) + assert_equal( nil, my_seq.seq_type ) my_seq.seq = "seq" assert_equal( "AA", my_seq.seq_type_guess ) assert_equal( nil, my_seq.seq_type ) end - def test_seq_type_guess! + def test_seq_type_guess_DNA! my_seq = Seq.new my_seq.seq = "ATCG" assert_equal( "DNA", my_seq.seq_type_guess! ) assert_equal( "DNA", my_seq.seq_type ) - my_seq.seq = "AUCG" - assert_equal( "RNA", my_seq.seq_type_guess! ) - assert_equal( "RNA", my_seq.seq_type ) - - my_seq.seq = "SEQ" - assert_equal( "AA", my_seq.seq_type_guess! ) - assert_equal( "AA", my_seq.seq_type ) - my_seq.seq = "atcg" assert_equal( "DNA", my_seq.seq_type_guess! ) assert_equal( "DNA", my_seq.seq_type ) + end + + def test_seq_type_guess_RNA! + my_seq = Seq.new + + my_seq.seq = "AUCG" + assert_equal( "RNA", my_seq.seq_type_guess! ) + assert_equal( "RNA", my_seq.seq_type ) my_seq.seq = "aucg" assert_equal( "RNA", my_seq.seq_type_guess! ) assert_equal( "RNA", my_seq.seq_type ) + end + + def test_seq_type_guess_AA! + my_seq = Seq.new + + my_seq.seq = "SEQ" + assert_equal( "AA", my_seq.seq_type_guess! ) + assert_equal( "AA", my_seq.seq_type ) my_seq.seq = "seq" assert_equal( "AA", my_seq.seq_type_guess! ) assert_equal( "AA", my_seq.seq_type ) end - def test_seq_alph + def test_seq_alph_DNA my_seq = Seq.new assert_equal( %w{ A T C G }, my_seq.seq_alph( "DNA" ) ) assert_equal( %w{ A T C G }, my_seq.seq_alph( "dna" ) ) + end + + def test_seq_alph_RNA + my_seq = Seq.new assert_equal( %w{ A U C G }, my_seq.seq_alph( "RNA" ) ) assert_equal( %w{ A U C G }, my_seq.seq_alph( "rna" ) ) + end + + def test_seq_alph_AA + my_seq = Seq.new assert_equal( %w{ F L S Y C W P H Q R I M T N K V A D E G }, my_seq.seq_alph( "AA" ) ) assert_equal( %w{ F L S Y C W P H Q R I M T N K V A D E G }, my_seq.seq_alph( "aa" ) ) + end + + def test_seq_alph_invalid + my_seq = Seq.new assert_raise( RuntimeError ) { my_seq.seq_alph( "protein" )} end - def test_wrap - my_seq = Seq.new( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGACCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACGACTACGACT" ) + def test_wrap_arg_is_a_number + my_seq = Seq.new assert_raise( RuntimeError ) { my_seq.wrap( "FOO" ) } + end + + def test_wrap_arg_is_a_positive_number + my_seq = Seq.new + assert_raise( RuntimeError ) { my_seq.wrap( 0 ) } assert_raise( RuntimeError ) { my_seq.wrap( -10 ) } + end + + def test_wrap_with_0_args + my_seq = Seq.new( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGACCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACGACTACGACT" ) assert_equal( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGACCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACG\nACTACGACT", my_seq.wrap ) + end + + def test_wrap_with_1_args + my_seq = Seq.new( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGACCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACGACTACGACT" ) + assert_equal( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGAC\nCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACG\nACTACGACT", my_seq.wrap( 40 ) ) + end + + def test_wrap_with_2_args + my_seq = Seq.new( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGACCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACGACTACGACT" ) + assert_equal( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGAC\rCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACG\rACTACGACT", my_seq.wrap( 40, "\r" ) ) assert_equal( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGACCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACGACTACGACT", my_seq.seq ) end - def test_wrap! + def test_wrap_dont_change_instance_var + my_seq = Seq.new( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGACCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACGACTACGACT" ) + + my_seq.wrap + + assert_equal( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGACCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACGACTACGACT", my_seq.seq ) + end + + def test_wrap_with_0_args! my_seq = Seq.new( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGACCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACGACTACGACT" ) my_seq.wrap!