]> git.donarmstrong.com Git - biopieces.git/blobdiff - code_ruby/test/maasha/seq/test_trim.rb
rewrite of FASTQ internals
[biopieces.git] / code_ruby / test / maasha / seq / test_trim.rb
index e9695bed953f73d588a7c3eafbd0083e2b40c76a..20a6dae3a54819bf2e49ead83acde359c19b2f82 100755 (executable)
@@ -1,7 +1,9 @@
 #!/usr/bin/env ruby
+$:.unshift File.join(File.dirname(__FILE__), '..', '..', '..')
 
 require 'maasha/seq'
 require 'test/unit'
+require 'test/helper'
 require 'pp'
 
 class TestTrim < Test::Unit::TestCase 
@@ -9,41 +11,41 @@ class TestTrim < Test::Unit::TestCase
     @entry = Seq.new
   end
 
-  def test_Trim_quality_trim_with_missing_seq_raises
+  test "Seq.quality_trim with missing seq raises" do
     @entry.qual = "hhhh"
-    assert_raise(SeqError) { @entry.quality_trim_right(20) }
-    assert_raise(SeqError) { @entry.quality_trim_right!(20) }
-    assert_raise(SeqError) { @entry.quality_trim_left(20) }
-    assert_raise(SeqError) { @entry.quality_trim_left!(20) }
-    assert_raise(SeqError) { @entry.quality_trim(20) }
-    assert_raise(SeqError) { @entry.quality_trim!(20) }
+    assert_raise(TrimError) { @entry.quality_trim_right(20) }
+    assert_raise(TrimError) { @entry.quality_trim_right!(20) }
+    assert_raise(TrimError) { @entry.quality_trim_left(20) }
+    assert_raise(TrimError) { @entry.quality_trim_left!(20) }
+    assert_raise(TrimError) { @entry.quality_trim(20) }
+    assert_raise(TrimError) { @entry.quality_trim!(20) }
   end
 
-  def test_Trim_quality_trim_with_missing_qual_raises
+  test "Seq.quality_trim with missing qual raises" do
     @entry.seq = "ATCG"
-    assert_raise(SeqError) { @entry.quality_trim_right(20) }
-    assert_raise(SeqError) { @entry.quality_trim_right!(20) }
-    assert_raise(SeqError) { @entry.quality_trim_left(20) }
-    assert_raise(SeqError) { @entry.quality_trim_left!(20) }
-    assert_raise(SeqError) { @entry.quality_trim(20) }
-    assert_raise(SeqError) { @entry.quality_trim!(20) }
+    assert_raise(TrimError) { @entry.quality_trim_right(20) }
+    assert_raise(TrimError) { @entry.quality_trim_right!(20) }
+    assert_raise(TrimError) { @entry.quality_trim_left(20) }
+    assert_raise(TrimError) { @entry.quality_trim_left!(20) }
+    assert_raise(TrimError) { @entry.quality_trim(20) }
+    assert_raise(TrimError) { @entry.quality_trim!(20) }
   end
 
-  def test_Trim_quality_trim_with_bad_min_raises
+  test "Seq.quality_trim with bad min raises" do
     @entry.seq  = "ATCG"
     @entry.qual = "hhhh"
 
     [-1, 41].each do |min|
-      assert_raise(SeqError) { @entry.quality_trim_right(min) }
-      assert_raise(SeqError) { @entry.quality_trim_right!(min) }
-      assert_raise(SeqError) { @entry.quality_trim_left(min) }
-      assert_raise(SeqError) { @entry.quality_trim_left!(min) }
-      assert_raise(SeqError) { @entry.quality_trim(min) }
-      assert_raise(SeqError) { @entry.quality_trim!(min) }
+      assert_raise(TrimError) { @entry.quality_trim_right(min) }
+      assert_raise(TrimError) { @entry.quality_trim_right!(min) }
+      assert_raise(TrimError) { @entry.quality_trim_left(min) }
+      assert_raise(TrimError) { @entry.quality_trim_left!(min) }
+      assert_raise(TrimError) { @entry.quality_trim(min) }
+      assert_raise(TrimError) { @entry.quality_trim!(min) }
     end
   end
 
-  def test_Trim_quality_trim_with_ok_min_dont_raise
+  test "Seq.quality_trim with ok min dont raise" do
     @entry.seq  = "ATCG"
     @entry.qual = "hhhh"
 
@@ -57,25 +59,25 @@ class TestTrim < Test::Unit::TestCase
     end
   end
 
-  def test_Trim_quality_trim_right_returns_correctly
+  test "Seq.quality_trim_right returns correctly" do
     @entry.seq  = "AAAAATCG"
-    @entry.qual = "hhhhhgfe"
+    @entry.qual = "IIIIIHGF"
     new_entry = @entry.quality_trim_right(38)
-    assert_equal("AAAAAT", new_entry.seq) 
-    assert_equal("hhhhhg", new_entry.qual) 
+    assert_equal("AAAAATC", new_entry.seq) 
+    assert_equal("IIIIIHG", new_entry.qual) 
     assert_equal("AAAAATCG", @entry.seq) 
-    assert_equal("hhhhhgfe", @entry.qual) 
+    assert_equal("IIIIIHGF", @entry.qual) 
   end
 
-  def test_Trim_quality_trim_right_bang_returns_correctly
+  test "Seq.quality_trim_right! returns correctly" do
     @entry.seq  = "AAAAATCG"
-    @entry.qual = "hhhhhgfe"
+    @entry.qual = "IIIIIHGF"
     @entry.quality_trim_right!(38)
-    assert_equal("AAAAAT", @entry.seq) 
-    assert_equal("hhhhhg", @entry.qual) 
+    assert_equal("AAAAATC", @entry.seq) 
+    assert_equal("IIIIIHG", @entry.qual) 
   end
 
-  def test_Trim_quality_trim_right_with_all_low_qual_returns_correctly
+  test "Seq.quality_trim_right! with all low qual returns correctly" do
     @entry.seq  = "GCTAAAAA"
     @entry.qual = "@@@@@@@@"
     @entry.quality_trim_right!(38)
@@ -83,25 +85,25 @@ class TestTrim < Test::Unit::TestCase
     assert_equal("", @entry.qual) 
   end
 
-  def test_Trim_quality_trim_left_returns_correctly
+  test "Seq.quality_trim_left returns correctly" do
     @entry.seq  = "GCTAAAAA"
-    @entry.qual = "efghhhhh"
+    @entry.qual = "FGHIIIII"
     new_entry = @entry.quality_trim_left(38)
-    assert_equal("TAAAAA", new_entry.seq) 
-    assert_equal("ghhhhh", new_entry.qual) 
+    assert_equal("CTAAAAA", new_entry.seq) 
+    assert_equal("GHIIIII", new_entry.qual) 
     assert_equal("GCTAAAAA", @entry.seq) 
-    assert_equal("efghhhhh", @entry.qual) 
+    assert_equal("FGHIIIII", @entry.qual) 
   end
 
-  def test_Trim_quality_trim_left_bang_returns_correctly
+  test "Seq.quality_trim_left! returns correctly" do
     @entry.seq  = "GCTAAAAA"
-    @entry.qual = "efghhhhh"
+    @entry.qual = "FGHIIIII"
     @entry.quality_trim_left!(38)
-    assert_equal("TAAAAA", @entry.seq) 
-    assert_equal("ghhhhh", @entry.qual) 
+    assert_equal("CTAAAAA", @entry.seq) 
+    assert_equal("GHIIIII", @entry.qual) 
   end
 
-  def test_Trim_quality_trim_left_with_all_low_qual_returns_correctly
+  test "Seq.quality_trim_left! with all low qual returns correctly" do
     @entry.seq  = "GCTAAAAA"
     @entry.qual = "@@@@@@@@"
     @entry.quality_trim_left!(38)
@@ -109,33 +111,33 @@ class TestTrim < Test::Unit::TestCase
     assert_equal("", @entry.qual) 
   end
 
-  def test_Trim_quality_trim_returns_correctly
+  test "Seq.quality_trim returns correctly" do
     @entry.seq  = "GCTAAAAAGTG"
-    @entry.qual = "efghhhhhgfe"
+    @entry.qual = "FGHIIIIIHGF"
     new_entry = @entry.quality_trim(38)
-    assert_equal("TAAAAAG", new_entry.seq) 
-    assert_equal("ghhhhhg", new_entry.qual) 
+    assert_equal("CTAAAAAGT", new_entry.seq) 
+    assert_equal("GHIIIIIHG", new_entry.qual) 
     assert_equal("GCTAAAAAGTG", @entry.seq) 
-    assert_equal("efghhhhhgfe", @entry.qual) 
+    assert_equal("FGHIIIIIHGF", @entry.qual) 
   end
 
-  def test_Trim_quality_trim_bang_returns_correctly
+  test "Seq.quality_trim! returns correctly" do
     @entry.seq  = "GCTAAAAAGTG"
-    @entry.qual = "efghhhhhgfe"
+    @entry.qual = "FGHIIIIIHGF"
     @entry.quality_trim!(38)
-    assert_equal("TAAAAAG", @entry.seq) 
-    assert_equal("ghhhhhg", @entry.qual) 
+    assert_equal("CTAAAAAGT", @entry.seq) 
+    assert_equal("GHIIIIIHG", @entry.qual) 
   end
 
-  def test_Trim_quality_trim_with_min_len_bang_returns_correctly
+  test "Seq.quality_trim! with min len bang returns correctly" do
     @entry.seq  = "GCTCAAACGTG"
-    @entry.qual = "hdefghgfedh"
+    @entry.qual = "IEFGHIHGFEI"
     @entry.quality_trim!(37, 2)
-    assert_equal("CAAAC", @entry.seq) 
-    assert_equal("fghgf", @entry.qual) 
+    assert_equal("TCAAACG", @entry.seq) 
+    assert_equal("FGHIHGF", @entry.qual) 
   end
 
-  def test_Trim_quality_trim_with_all_low_qual_returns_correctly
+  test "Seq.quality_trim! with all low qual returns correctly" do
     @entry.seq  = "GCTCAAACGTG"
     @entry.qual = "@@@@@@@@@@@"
     @entry.quality_trim!(37, 2)