The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl
#
# Copyright (C) 2012 by Lieven Hollevoet

# Verify features that were added

use strict;
use Test::More;
use Test::Output;

use_ok 'Text::Cadenceparser';

# Output for equally-contributing units shoudl be sorted alphabetically
my $parser = Text::Cadenceparser->new(key => 'area', 'area_rpt' => 't/stim/area_100.rpt', 'power_rpt' => 't/stim/power_100_nop.rpt', 'threshold' => 5);
ok $parser, 'object created';

stdout_like { $parser->report() }  qr/vu1_mul.+\n.+vu2_mul/, 'Check sorting';

# Ensure we have a separate part reporting the toplevel logic
$parser = Text::Cadenceparser->new(key => 'area', 'area_rpt' => 't/stim/area_100.rpt', 'threshold' => 0.00005);
stdout_like {$parser->report() } qr/toplevel/, 'Toplevel reported';

# Test non-verbose power output parsing
$parser = Text::Cadenceparser->new(key => 'active', power_rpt => 't/stim/non_verbose_power');
ok $parser, 'object created';

stdout_like {$parser->report() } qr/Total active : 45.125/, 'Non-verbose input format verified correctly';

# Test verbose power output parsing
$parser = Text::Cadenceparser->new(key => 'active', power_rpt => 't/stim/verbose_power');
ok $parser, 'object created';

stdout_like {$parser->report() } qr/Total active : 45.125/, 'Non-verbose input format verified correctly';

done_testing();