package tests::ReportChartConfigTest;
use strict;
use base qw/ Lire::Test::TestCase /;
use Lire::Config::TypeSpec;
use Lire::ChartType;
use Lire::Report::ChartConfig;
use Lire::PluginManager;
use Lire::Test::Mock;
sub new {
my $self = shift->SUPER::new( @_ );
return $self;
}
sub set_up {
my $self = $_[0];
$self->SUPER::set_up();
$self->set_up_plugin_mgr();
$self->{'scatterplot'} = new_proxy Lire::Test::Mock( 'Lire::ChartType' );
$self->{'scatterplot'}->set_result( 'name' => 'scatterplot' );
Lire::PluginManager->register_plugin( $self->{'scatterplot'} );
$self->{'cfg'}{'_lr_config_spec'} = new Lire::Config::ConfigSpec();
return $self;
}
sub tear_down {
my $self = $_[0];
$self->SUPER::tear_down();
return $self;
}
sub test_new {
my $self = $_[0];
my $chart = new Lire::Report::ChartConfig();
$self->assert_isa( 'Lire::Report::ChartConfig', $chart );
$self->assert_isa( 'Lire::Config::ChartSpec', $chart->spec() );
$self->assert_dies( qr/\'spec\' parameter should be a \'Lire::Config::ChartSpec\' instance/,
sub { new Lire::Report::ChartConfig( 'spec' => new Lire::Config::StringSpec( 'name' => 'test' ) ) } );
}
sub test_type {
my $self = $_[0];
my $chart = new Lire::Report::ChartConfig();
$chart->get( 'type' )->set_plugin( 'scatterplot' );
$self->assert_str_equals( $self->{'scatterplot'}, $chart->type() );
}
1;
syntax highlighted by Code2HTML, v. 0.9.1