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!