require 'test/unit'
require 'pp'
-include PatternMatcher
+class Seq
+ include PatternMatcher
+end
class TestPatternMatcher < Test::Unit::TestCase
+
def setup
@p = Seq.new("test", "atcg")
end
assert_nil(@p.match("gggg"))
end
-# def test_PatternMatcher_match_perfect_returns_correctly
-# m = @p.match("atcg")
-# assert_equal(0, m.pos)
-# assert_equal("atcg", m.match)
-# assert_equal(4, m.matches)
-# assert_equal(0, m.mismatches)
-# assert_equal(0, m.insertions)
-# assert_equal(0, m.deletions)
-# assert_equal(4, m.length)
-# end
-#
-# def test_PatternMatcher_match_perfect_with_ambiguity_codes_returns_correctly
-# m = @p.match("nnnn")
-# assert_equal(0, m.pos)
-# assert_equal("atcg", m.match)
-# assert_equal(4, m.matches)
-# assert_equal(0, m.mismatches)
-# assert_equal(0, m.insertions)
-# assert_equal(0, m.deletions)
-# assert_equal(4, m.length)
-# end
-#
-# def test_PatternMatcher_match_with_one_mismatch_and_edit_dist_zero_returns_nil
-# assert_nil(@p.match("aCcg"))
-# end
-#
-# def test_PatternMatcher_match_with_one_mismatch_and_edit_dist_one_returns_correctly
-# m = @p.match("aCcg", 0, 1)
-# assert_equal(0, m.pos)
-# assert_equal("atcg", m.match)
-# assert_equal(3, m.matches)
-# assert_equal(1, m.mismatches)
-# assert_equal(0, m.insertions)
-# assert_equal(0, m.deletions)
-# assert_equal(4, m.length)
-# end
-#
-# def test_PatternMatcher_match_with_two_mismatch_and_edit_dist_one_returns_nil
-# assert_nil(@p.match("aGcA", 0, 1))
-# end
-#
-# def test_PatternMatcher_match_with_one_insertion_and_edit_dist_zero_returns_nil
-# assert_nil(@p.match("atGcg"))
-# end
-#
-# def test_PatternMatcher_match_with_one_insertion_and_edit_dist_one_returns_correctly
-# m = @p.match("atGcg", 0, 1)
-# assert_equal(0, m.pos)
-# assert_equal("atcg", m.match)
-# assert_equal(4, m.matches)
-# assert_equal(0, m.mismatches)
-# assert_equal(1, m.insertions)
-# assert_equal(0, m.deletions)
-# assert_equal(4, m.length)
-# end
-#
-# def test_PatternMatcher_match_with_two_insertions_and_edit_dist_one_returns_nil
-# assert_nil(@p.match("atGcTg", 0, 1))
-# end
-#
-# def test_PatternMatcher_match_with_two_insertions_and_edit_dist_two_returns_correctly
-# m = @p.match("atGcTg", 0, 2)
-# assert_equal(0, m.pos)
-# assert_equal("atcg", m.match)
-# assert_equal(4, m.matches)
-# assert_equal(0, m.mismatches)
-# assert_equal(2, m.insertions)
-# assert_equal(0, m.deletions)
-# assert_equal(4, m.length)
-# end
-#
-# def test_PatternMatcher_match_with_one_deletion_and_edit_distance_zero_returns_nil
-# assert_nil(@p.match("acg"))
-# end
-#
-# def test_PatternMatcher_match_with_one_deletion_and_edit_distance_one_returns_correctly
-# m = @p.match("acg", 0, 1)
-# assert_equal(0, m.pos)
-# assert_equal("atcg", m.match)
-# assert_equal(3, m.matches)
-# assert_equal(0, m.mismatches)
-# assert_equal(0, m.insertions)
-# assert_equal(1, m.deletions)
-# assert_equal(4, m.length)
-# end
-#
-# def test_PatternMatcher_scan_locates_three_patterns_ok
-# p = Seq.new("test", "ataacgagctagctagctagctgactac")
-# assert_equal(3, p.scan("tag").count)
-# end
-#
-# def test_PatternMatcher_scan_with_pos_locates_two_patterns_ok
-# p = Seq.new("test", "ataacgagctagctagctagctgactac")
-# assert_equal(2, p.scan("tag", 10).count)
-# end
+ def test_PatternMatcher_match_perfect_returns_correctly
+ m = @p.match("atcg")
+ assert_equal(0, m.beg)
+ assert_equal("atcg", m.match)
+ assert_equal(0, m.mis)
+ assert_equal(0, m.ins)
+ assert_equal(0, m.del)
+ assert_equal(4, m.length)
+ end
+
+ def test_PatternMatcher_match_perfect_with_ambiguity_codes_returns_correctly
+ m = @p.match("nnnn")
+ assert_equal(0, m.beg)
+ assert_equal("atcg", m.match)
+ assert_equal(0, m.mis)
+ assert_equal(0, m.ins)
+ assert_equal(0, m.del)
+ assert_equal(4, m.length)
+ end
+
+ def test_PatternMatcher_match_with_one_mismatch_and_edit_dist_zero_returns_nil
+ assert_nil(@p.match("aCcg"))
+ end
+
+ def test_PatternMatcher_match_with_one_mismatch_and_edit_dist_one_returns_correctly
+ m = @p.match("aCcg", 0, 1)
+ assert_equal(0, m.beg)
+ assert_equal("atcg", m.match)
+ assert_equal(1, m.mis)
+ assert_equal(0, m.ins)
+ assert_equal(0, m.del)
+ assert_equal(4, m.length)
+ end
+
+ def test_PatternMatcher_match_with_two_mismatch_and_edit_dist_one_returns_nil
+ assert_nil(@p.match("aGcA", 0, 1))
+ end
+
+ def test_PatternMatcher_match_with_one_insertion_and_edit_dist_zero_returns_nil
+ assert_nil(@p.match("atGcg"))
+ end
+
+ def test_PatternMatcher_match_with_one_insertion_and_edit_dist_one_returns_correctly
+ m = @p.match("atGcg", 0, 1)
+ assert_equal(0, m.beg)
+ assert_equal("atcg", m.match)
+ assert_equal(0, m.mis)
+ assert_equal(1, m.ins)
+ assert_equal(0, m.del)
+ assert_equal(4, m.length)
+ end
+
+ def test_PatternMatcher_match_with_two_insertions_and_edit_dist_one_returns_nil
+ assert_nil(@p.match("atGcTg", 0, 1))
+ end
+
+ def test_PatternMatcher_match_with_two_insertions_and_edit_dist_two_returns_correctly
+ m = @p.match("atGcTg", 0, 2)
+ assert_equal(0, m.beg)
+ assert_equal("atcg", m.match)
+ assert_equal(0, m.mis)
+ assert_equal(2, m.ins)
+ assert_equal(0, m.del)
+ assert_equal(4, m.length)
+ end
+
+ def test_PatternMatcher_match_with_one_deletion_and_edit_distance_zero_returns_nil
+ assert_nil(@p.match("acg"))
+ end
+
+ def test_PatternMatcher_match_with_one_deletion_and_edit_distance_one_returns_correctly
+ m = @p.match("acg", 0, 1)
+ assert_equal(0, m.beg)
+ assert_equal("atcg", m.match)
+ assert_equal(0, m.mis)
+ assert_equal(0, m.ins)
+ assert_equal(1, m.del)
+ assert_equal(4, m.length)
+ end
+
+ def test_PatternMatcher_scan_locates_three_patterns_ok
+ p = Seq.new("test", "ataacgagctagctagctagctgactac")
+ assert_equal(3, p.scan("tag").count)
+ end
+
+ def test_PatternMatcher_scan_with_pos_locates_two_patterns_ok
+ p = Seq.new("test", "ataacgagctagctagctagctgactac")
+ assert_equal(2, p.scan("tag", 10).count)
+ end
end