Analizo
view release on metacpan or search on metacpan
t/Analizo/Batch/Output.t view on Meta::CPAN
use Analizo::Batch::Output;
sub constructor : Tests {
isa_ok(__create(), 'Analizo::Batch::Output');
}
sub exposed_interface : Tests {
can_ok('Analizo::Batch::Output', qw(requires_metrics push initialize flush));
}
sub not_require_metrics_by_default : Tests {
my $output = __create();
is($output->requires_metrics, 0);
}
sub should_write_to_output_file : Tests {
my $output = mock(__create());
my $delegated = undef;
$output->mock('write_data', sub { my ($that, $fh) = @_; $delegated = (ref($fh) eq 'GLOB'); });
$output->file('t/tmp/output.tmp');
t/Analizo/Command.t view on Meta::CPAN
my ($cmd) = $analizo->prepare_command('fake');
like($cmd->version_information, qr/^\S+ version \d+\.\d+\.\d+(~rc\d+)?$/);
}
sub execute_some_command : Tests {
my $analizo = Analizo->new;
my $return = $analizo->execute_command( $analizo->prepare_command('fake') );
is($return, "command fake executed");
}
sub executing_commands_with_version_argument_is_not_allowed : Tests {
my $analizo = Analizo->new;
throws_ok {
$analizo->execute_command( $analizo->prepare_command('fake', '--version') )
} qr /Invalid option/;
}
__PACKAGE__->runtests;
package t::Analizo::Command::fake;
use Analizo -command;
t/Analizo/Extractor.t view on Meta::CPAN
# addding the first excluded directory filter also adds a null language filter
$extractor->exclude('test');
$filters = $extractor->filters;
is(scalar @$filters, 2);
$extractor->exclude('uitest');
$filters = $extractor->filters;
is(scalar(@$filters), 3);
}
sub must_not_process_files_in_excluded_dirs : Tests {
my @processed = ();
no warnings;
local *Analizo::Extractor::actually_process = sub {
my ($self, @options) = @_;
@processed = sort(@options);
};
use warnings;
my $extractor = Analizo::Extractor->new;
$extractor->exclude('t/samples/multidir/cpp/test');
$extractor->process('t/samples/multidir/cpp');
is_deeply(\@processed, ['t/samples/multidir/cpp/hello.cc', 't/samples/multidir/cpp/src/hello.cc', 't/samples/multidir/cpp/src/hello.h']);
}
sub must_not_exclude_everything_in_the_case_of_unexisting_excluded_dir : Tests {
my @processed = ();
no warnings;
local *Analizo::Extractor::actually_process = sub {
my ($self, @options) = @_;
@processed = sort(@options);
};
use warnings;
my $extractor = Analizo::Extractor->new;
ok(! -e 't/samples/animals/cpp/test');
$extractor->exclude('t/samples/animals/cpp/test'); # does not exist!
$extractor->process('t/samples/animals/cpp');
isnt(0, scalar @processed);
}
sub must_not_ignore_filter_by_default : Tests {
no warnings;
local *Analizo::Extractor::apply_filters = sub {
die "apply_filters() was called"
};
use warnings;
my $extractor = Analizo::Extractor->new;
dies_ok { $extractor->process('t/samples/mixed') };
}
t/Analizo/Metric/AfferentConnections/AfferentConnectionsByReference.t view on Meta::CPAN
is($acc->calculate('A'), 0, 'no calls to a module');
is($acc->calculate('B'), 1, 'adding variable of another module');
}
sub calculate_calling_variable_of_another_module : Tests {
$model->add_call('fA', 'fC');
is($acc->calculate('A'), 0, 'no calls to a module');
is($acc->calculate('C'), 1, 'calling variable of another module');
}
sub calculate_calling_itself_does_not_count : Tests {
$model->add_call('fA', 'fA2');
is($acc->calculate('A'), 0, 'calling itself does not count as acc');
}
sub calculate_calling_module_twice : Tests {
$model->add_call('fA', 'fB');
$model->add_variable_use('fA', 'vB');
$model->add_call('fA', 'fC');
$model->add_call('fA', 'fA2');
$model->add_variable_use('fB', 'vC');
( run in 1.087 second using v1.01-cache-2.11-cpan-cc502c75498 )