From 64e00f69a815961476b7e6d89af3ed26e7dc3cd8 Mon Sep 17 00:00:00 2001
From: Andrew Yates <ayates@ebi.ac.uk>
Date: Fri, 15 Jun 2012 13:00:01 +0000
Subject: [PATCH] Updating GFF parser tests

---
 modules/t/gffParser.t | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/modules/t/gffParser.t b/modules/t/gffParser.t
index eaf375cafa..427aee3107 100644
--- a/modules/t/gffParser.t
+++ b/modules/t/gffParser.t
@@ -79,4 +79,38 @@ GFF
   }
 }
 
+{
+  my $string = <<GFF;
+##gff-version 3
+##sequence-region   ctg123 1 1497228
+##taken-from example parsing file with FASTA directive
+ctg123\t.\tgene\t1000\t9000\t.\t+\t.\tID=gene00001;Name=EDEN
+###
+##FASTA
+>ctg123
+AACCTTTGGGCCGGGCCTTAAAA
+AACC
+GFF
+  my $io = IO::String->new(\$string);
+  
+  my $gff = Bio::EnsEMBL::Utils::IO::GFFParser->new($io);
+  my $header = $gff->parse_header();
+  is_deeply(
+    $header,
+    [ '##gff-version 3', '##sequence-region   ctg123 1 1497228', '##taken-from example parsing file with FASTA directive'],
+    'Checking headers all parse'
+  );
+  my $actual_gene = $gff->parse_next_feature();
+  my $expected_gene = {
+    seqid => 'ctg123', start => 1000, end => 9000, strand => 1,
+    source => '.', type => 'gene', score => '.', phase => '.',
+    attribute => { ID => 'gene00001', Name => 'EDEN' }
+  };
+  is_deeply($actual_gene, $expected_gene, 'Checking TF record parses');
+  my $id = $gff->parse_next_feature();
+  ok(! defined $id, 'No more features');
+  my $seq = $gff->parse_next_sequence();
+  is_deeply($seq, {header => '>ctg123', sequence => "AACCTTTGGGCCGGGCCTTAAAAAACC"}, "Checking Sequence parses correctly")
+}
+
 done_testing();
-- 
GitLab