The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use strict;
use warnings;

use Test::More;

# ------------------------------------------------

sub BEGIN { use_ok('Genealogy::Gedcom::Reader::Lexer'); }

# ------------------------------------------------

sub process
{
		my($file_name, $expected_count) = @_;

		#diag "File $file_name. Known item count:  $expected_count";

		my($lexer) = Genealogy::Gedcom::Reader::Lexer -> new
		(
	 	input_file   => $file_name,
	 	logger  => '',
	 	report_items => 0,
	 	strict       => 1,
		);

		my($result) = $lexer -> run;
		my(@item)   = @{$lexer -> items};

		ok(scalar @item == $expected_count, "$file_name really does contain $expected_count items");

} # End of process.

# ------------------------------------------------

process('data/royal.ged',  3668);
process('data/sample.1.ged', 29);
process('data/sample.2.ged', 45);
process('data/sample.3.ged', 87);
process('data/sample.4.ged', 51);

done_testing;