]> git.donarmstrong.com Git - biopieces.git/blobdiff - code_ruby/test/maasha/test_seq.rb
rewrote mask_seq_hard and mask_seq_soft methods to NArrays for speed
[biopieces.git] / code_ruby / test / maasha / test_seq.rb
index a4d47ad203d601a54a5012855c1ca3942976e186..927937ec3684097c9a42cfa773dc48e832f97b3b 100755 (executable)
@@ -509,6 +509,74 @@ class TestSeq < Test::Unit::TestCase
     @entry.seq = "--AAAa"
     assert_equal(25.00, @entry.soft_mask)
   end
+
+  def test_Seq_mask_seq_hard_bang_with_nil_seq_raises
+    @entry.seq  = nil
+    @entry.qual = ""
+
+    assert_raise(SeqError) { @entry.mask_seq_hard!(20) }
+  end
+
+  def test_Seq_mask_seq_hard_bang_with_nil_qual_raises
+    @entry.seq  = ""
+    @entry.qual = nil
+
+    assert_raise(SeqError) { @entry.mask_seq_hard!(20) }
+  end
+
+  def test_Seq_mask_seq_hard_bang_with_bad_cutoff_raises
+    assert_raise(SeqError) { @entry.mask_seq_hard!(-1) }
+    assert_raise(SeqError) { @entry.mask_seq_hard!(41) }
+  end
+
+  def test_Seq_mask_seq_hard_bang_with_OK_cutoff_dont_raise
+    @entry.seq  = "ATCG"
+    @entry.qual = "RSTU"
+
+    assert_nothing_raised { @entry.mask_seq_hard!(0) }
+    assert_nothing_raised { @entry.mask_seq_hard!(40) }
+  end
+
+  def test_Seq_mask_seq_hard_bang_returns_correctly
+    @entry.seq  = "ATCG"
+    @entry.qual = "RSTU"
+
+    assert_equal("NNCG", @entry.mask_seq_hard!(20).seq)
+  end
+
+  def test_Seq_mask_seq_soft_bang_with_nil_seq_raises
+    @entry.seq  = nil
+    @entry.qual = ""
+
+    assert_raise(SeqError) { @entry.mask_seq_soft!(20) }
+  end
+
+  def test_Seq_mask_seq_soft_bang_with_nil_qual_raises
+    @entry.seq  = ""
+    @entry.qual = nil
+
+    assert_raise(SeqError) { @entry.mask_seq_soft!(20) }
+  end
+
+  def test_Seq_mask_seq_soft_bang_returns_correctly
+    @entry.seq  = "ATCG"
+    @entry.qual = "RSTU"
+
+    assert_equal("atCG", @entry.mask_seq_soft!(20).seq)
+  end
+
+  def test_Seq_mask_seq_soft_bang_with_bad_cutoff_raises
+    assert_raise(SeqError) { @entry.mask_seq_soft!(-1) }
+    assert_raise(SeqError) { @entry.mask_seq_soft!(41) }
+  end
+
+  def test_Seq_mask_seq_soft_bang_with_OK_cutoff_dont_raise
+    @entry.seq  = "ATCG"
+    @entry.qual = "RSTU"
+
+    assert_nothing_raised { @entry.mask_seq_soft!(0) }
+    assert_nothing_raised { @entry.mask_seq_soft!(40) }
+  end
 end