CPAN-Changes-Group-Dependencies-Stats

 view release on metacpan or  search on metacpan

t/basic.t  view on Meta::CPAN

use strict;
use warnings;

use Test::More tests => 53;
use Test::Differences;

# ABSTRACT: Basic comparison

use CPAN::Changes::Group::Dependencies::Stats;

{
  my $diff = CPAN::Changes::Group::Dependencies::Stats->new(
    old_prereqs => {},
    new_prereqs => {},
  );

  eq_or_diff $diff->changes, [], 'No prereqs';
}
for my $phase (qw (  runtime build configure test develop )) {
  note "Beginning: $phase basics ]---";
  {
    my $diff = CPAN::Changes::Group::Dependencies::Stats->new(
      new_prereqs => { $phase => { requires => { Moose => 0 } } },
      old_prereqs => {},
    );

    eq_or_diff $diff->changes, ["$phase: +1"], 'Simple add dep';
  }
  {

    my $diff = CPAN::Changes::Group::Dependencies::Stats->new(
      new_prereqs => { $phase => { requires => { Moose => 0 }, recommends => { Moose => 1 } } },
      old_prereqs => {},
    );

    eq_or_diff $diff->changes, ["$phase: +1 (recommends: +1)"], 'Simple add recommends';
  }
  {

    my $diff = CPAN::Changes::Group::Dependencies::Stats->new(
      new_prereqs => { $phase => { requires => { Moose => 0 }, suggests => { Moose => 1 } } },
      old_prereqs => {},
    );

    eq_or_diff $diff->changes, ["$phase: +1 (suggests: +1)"], 'Simple add suggests';
  }
  {
    my $diff = CPAN::Changes::Group::Dependencies::Stats->new(
      new_prereqs => { $phase => { requires => { Moose => 0 }, suggests => { Moose => 2 }, recommends => { 'Moose' => 1 } } },
      old_prereqs => {},
    );

    eq_or_diff $diff->changes, ["$phase: +1 (recommends: +1, suggests: +1)"], 'Simple add suggests+add recommends';
  }
  {
    my $diff = CPAN::Changes::Group::Dependencies::Stats->new(
      new_prereqs => { $phase => { suggests => { Moose => 2 }, recommends => { 'Moose' => 1 } } },
      old_prereqs => {},
    );

    eq_or_diff $diff->changes, ["$phase: (recommends: +1, suggests: +1)"], 'Simple add suggests+add recommends-requires';
  }

  note "Ending: $phase basics ]---";
  note "Beginning: $phase remove basics ]---";



( run in 0.912 second using v1.01-cache-2.11-cpan-6aa56a78535 )