The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use warnings;
use Test::More;
use Data::Dumper;

BEGIN { use_ok('Bio::Gonzales::Feat::IO::SWISS'); }
use Bio::Gonzales::Util::Cerial;


my $swissin = Bio::Gonzales::Feat::IO::SWISS->new(file => "t/data/uniprot_trembl.dat", mode => '<', check_crc64 => 1 );

my %acc = (
  A0A171 => 1,
  A0AQI4 => 1,
  A0AQI5 => 1,
  A0AQI7 => 1,
  A0AQI8 => 1,
  A0EQA2 => 1,
  A0FGX9 => 1,
  A0FGY0 => 1,
  A0FGY1 => 1,
  A0FGY2 => 1,
  A0FGY3 => 1,
  A0FGY4 => 1,
  A0FGY6 => 1,
  A0FGY8 => 1,
  A0FGZ0 => 1,
  A0FGZ1 => 1,
  A0FGZ2 => 1,
  A0FGZ3 => 1,
  A0FGZ4 => 1,
  A0FGZ8 => 1,
  A0FGZ9 => 1,
  A0FH00 => 1,
  A0FH02 => 1,
  A0FH03 => 1,
  F8VC58 => 1
);

my %feats;
while ( my $f = $swissin->next_feat ) {
  #diag Dumper $f;
  ok( !exists( $feats{ $f->id } ) );
  $feats{ $f->id } = $f;
  $acc{ $f->id }++;
}

is( ( grep { $_ > 1 } values %acc ), ( scalar keys %acc ) );

yspew("test.json", \%feats);
#my @entries;
#{
#local $/ = "\n//\n";
#open my $fh, '<', '' or die "Can't open filehandle: $!";
#while (<$fh>) {
#push @entries, $_;
#}
#close $fh;
#}

#my $res = Bio::Gonzales::Feat::IO::SWISS::Parse_entry(\$entries[-1]);

#diag Dumper $res;

#diag Dumper $res->attr_list('accession_number');
done_testing();