From 0891f2c32bf41b8b8c5107642c774e903c67005e Mon Sep 17 00:00:00 2001
From: martinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Date: Wed, 9 Nov 2011 15:20:40 +0000
Subject: [PATCH] fixed bug in seq.to_fasta

git-svn-id: http://biopieces.googlecode.com/svn/trunk@1617 74ccb610-7750-0410-82ae-013aeee3265d
---
 code_ruby/lib/maasha/seq.rb       |  4 ++--
 code_ruby/test/maasha/test_seq.rb | 22 ++++++++++++++++++++++
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/code_ruby/lib/maasha/seq.rb b/code_ruby/lib/maasha/seq.rb
index b70cfc7..1c6f245 100644
--- a/code_ruby/lib/maasha/seq.rb
+++ b/code_ruby/lib/maasha/seq.rb
@@ -178,8 +178,8 @@ class Seq
 
   # Method that given a Seq entry returns a FASTA entry (a string).
   def to_fasta(wrap = nil)
-    raise SeqError, "Missing seq_name" if self.seq_name.nil?
-    raise SeqError, "Missing seq"      if self.seq.nil?
+    raise SeqError, "Missing seq_name" if self.seq_name.nil? or self.seq_name == ''
+    raise SeqError, "Missing seq"      if self.seq.nil?      or self.seq.empty?
 
     seq_name = self.seq_name.to_s
     seq      = self.seq.to_s
diff --git a/code_ruby/test/maasha/test_seq.rb b/code_ruby/test/maasha/test_seq.rb
index cdc9294..7665298 100755
--- a/code_ruby/test/maasha/test_seq.rb
+++ b/code_ruby/test/maasha/test_seq.rb
@@ -166,6 +166,28 @@ class TestSeq < Test::Unit::TestCase
     assert_raise(SeqError) { @entry.to_bp }
   end
 
+  def test_Seq_to_fasta_raises_on_missing_seq_name
+    @entry.seq = 'ATCG'
+    assert_raise(SeqError) { @entry.to_fasta }
+  end
+
+  def test_Seq_to_fasta_raises_on_empty_seq_name
+    @entry.seq_name = ''
+    @entry.seq      = 'ATCG'
+    assert_raise(SeqError) { @entry.to_fasta }
+  end
+
+  def test_Seq_to_fasta_raises_on_missing_seq
+    @entry.seq_name = 'test'
+    assert_raise(SeqError) { @entry.to_fasta }
+  end
+
+  def test_Seq_to_fasta_raises_on_empty_seq
+    @entry.seq_name = 'test'
+    @entry.seq      = ''
+    assert_raise(SeqError) { @entry.to_fasta }
+  end
+
   def test_Seq_to_fasta_returns_correct_entry
     @entry.seq_name = 'test'
     @entry.seq      = 'ATCG'
-- 
2.39.5