# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
require 'maasha/seq'
+require 'maasha/seq/patternmatcher'
require 'test/unit'
require 'pp'
+include PatternMatcher
+
class TestPatternMatcher < Test::Unit::TestCase
def setup
@p = Seq.new("test", "atcg")
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.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
end