]> git.donarmstrong.com Git - biopieces.git/blobdiff - code_ruby/test/maasha/seq/test_assemble.rb
added seq/assemble.rb
[biopieces.git] / code_ruby / test / maasha / seq / test_assemble.rb
diff --git a/code_ruby/test/maasha/seq/test_assemble.rb b/code_ruby/test/maasha/seq/test_assemble.rb
new file mode 100755 (executable)
index 0000000..bdc759c
--- /dev/null
@@ -0,0 +1,36 @@
+#!/usr/bin/env ruby
+$:.unshift File.join(File.dirname(__FILE__), '..', '..', '..')
+
+require 'maasha/seq/assemble'
+require 'test/unit'
+require 'test/helper'
+require 'pp'
+
+class TestAssemble < Test::Unit::TestCase 
+  test "Assemble.pair without overlap returns nil" do
+    assert_nil(Assemble.pair(Seq.new("test1", "aaaa"), Seq.new("test2", "tttt")))
+  end
+
+  test "Assemble.pair with overlap returns the correctly" do
+    assert_equal("atcgatc", Assemble.pair(Seq.new("test1", "atcg"), Seq.new("test2", "gatc")).seq)
+    assert_equal("atcgat",  Assemble.pair(Seq.new("test1", "atcg"), Seq.new("test2", "cgat")).seq)
+    assert_equal("atcga",   Assemble.pair(Seq.new("test1", "atcg"), Seq.new("test2", "tcga")).seq)
+    assert_equal("atcg",    Assemble.pair(Seq.new("test1", "atcg"), Seq.new("test2", "atcg")).seq)
+  end
+
+  test "Assemble.pair with overlap and overlap_min returns correctly" do
+    assert_nil(Assemble.pair(Seq.new("test1", "atcg"), Seq.new("test2", "gatc"), :overlap_min => 2))
+    assert_equal("atcgat", Assemble.pair(Seq.new("test1", "atcg"), Seq.new("test2", "cgat"), :overlap_min => 2).seq)
+  end
+
+  test "Assemble.pair with overlap and overlap_max returns correctly" do
+    assert_equal("atcga", Assemble.pair(Seq.new("test1", "atcg"), Seq.new("test2", "tcga"), :overlap_max => 3).seq)
+    assert_nil(Assemble.pair(Seq.new("test1", "atcg"), Seq.new("test2", "atcg"), :overlap_max => 3))
+  end
+
+  test "Assemble.pair with overlap returns correct quality" do
+    assert_equal("?", Assemble.pair(Seq.new("test1", "a", :dna, "I"), Seq.new("test2", "a", :dna, "5")).qual)
+    assert_equal("GH??43", Assemble.pair(Seq.new("test1", "atcg", :dna, "GHII"), Seq.new("test2", "cgat", :dna, "5543")).qual)
+    assert_equal("I???5", Assemble.pair(Seq.new("test1", "atcg", :dna, "IIII"), Seq.new("test2", "tcga", :dna, "5555")).qual)
+  end
+end