]> git.donarmstrong.com Git - biopieces.git/commitdiff
added unit testing for ruby
authormartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Tue, 30 Jun 2009 17:03:36 +0000 (17:03 +0000)
committermartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Tue, 30 Jun 2009 17:03:36 +0000 (17:03 +0000)
git-svn-id: http://biopieces.googlecode.com/svn/trunk@546 74ccb610-7750-0410-82ae-013aeee3265d

code_ruby/Maasha/test/test_seq.rb [new file with mode: 0755]

diff --git a/code_ruby/Maasha/test/test_seq.rb b/code_ruby/Maasha/test/test_seq.rb
new file mode 100755 (executable)
index 0000000..5eddd7e
--- /dev/null
@@ -0,0 +1,161 @@
+#!/usr/bin/env ruby
+
+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 ) 
+       end 
+
+       def test_seq_type_guess
+               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 )
+               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 )
+
+               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 )
+               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!
+               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 )
+
+               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 )
+       end
+
+       def test_seq_alph
+               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" ) )
+
+               assert_equal( %w{ A U C G }, my_seq.seq_alph( "RNA" ) )
+               assert_equal( %w{ A U C G }, my_seq.seq_alph( "rna" ) )
+
+               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" ) )
+
+               assert_raise( RuntimeError ) { my_seq.seq_alph( "protein" )}
+       end
+
+       def test_wrap
+               my_seq = Seq.new( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGACCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACGACTACGACT" )
+
+               assert_raise( RuntimeError ) { my_seq.wrap( "FOO" ) }
+               assert_raise( RuntimeError ) { my_seq.wrap( 0 ) }
+               assert_raise( RuntimeError ) { my_seq.wrap( -10 ) }
+
+               assert_equal( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGACCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACG\nACTACGACT", my_seq.wrap )
+               assert_equal( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGAC\nCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACG\nACTACGACT", my_seq.wrap( 40 ) )
+               assert_equal( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGAC\rCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACG\rACTACGACT", my_seq.wrap( 40, "\r" ) )
+
+               assert_equal( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGACCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACGACTACGACT", my_seq.seq )
+       end
+
+       def test_wrap!
+               my_seq = Seq.new( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGACCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACGACTACGACT" )
+
+               my_seq.wrap!
+
+               assert_equal( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGACCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACG\nACTACGACT", my_seq.seq )
+
+               my_seq.wrap!( 40 )
+
+               assert_equal( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGAC\nCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACG\nACTACGACT", my_seq.seq )
+
+               my_seq.wrap!( 40, "\r" )
+
+               assert_equal( "ACTGACTAGCATCGACTACGACTGACACGACGACGACGAC\rCGAACGATCGATCGCAGACGACGCAGCATGACGACGTACG\rACTACGACT", my_seq.seq )
+       end
+
+       def test_generate
+               my_seq = Seq.new
+
+               my_seq.seq_type = "AA"
+
+               assert_raise( RuntimeError ) { my_seq.generate( "FOO" ) }
+               assert_raise( RuntimeError ) { my_seq.generate( 0 ) }
+               assert_raise( RuntimeError ) { my_seq.generate( -10 ) }
+
+               seq = my_seq.generate( 40 )
+
+               assert_equal( 40, seq.length )
+
+               assert_equal( nil, my_seq.seq )
+       end
+
+       def test_generate!
+               my_seq = Seq.new
+
+               my_seq.seq_type = "AA"
+
+               gen_seq = my_seq.generate!( 40 )
+
+               assert_equal( 40, gen_seq.length )
+               assert_equal( 40, my_seq.seq.length )
+
+               assert_equal( gen_seq, my_seq.seq )
+       end
+
+       def test_Seq_AA_new
+               my_seq1 = Seq::AA.new
+               assert_equal( nil, my_seq1.seq )
+               assert_equal( "AA", my_seq1.seq_type )
+
+               my_seq2 = Seq::AA.new( "SEQ" )
+               assert_equal( "SEQ", my_seq2.seq )
+               assert_equal( "AA",  my_seq2.seq_type )
+       end
+end
+