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 )