Vote-Count

 view release on metacpan or  search on metacpan

t/condorcetdropping.t  view on Meta::CPAN

  );
  my $rM3 = $M3->RunCondorcetDropping();
  is( $rM3->{'winner'}, 'MINTCHIP', 'winner for biggerset1 topcount/all' );
  note $M3->logv();

  my $LoopSet =
    Vote::Count::Method::CondorcetDropping->new(
    'BallotSet' => read_ballots('t/data/loop1.txt'), );
  my $rLoopSet = $LoopSet->RunCondorcetDropping();
  is( $rLoopSet->{'winner'}, 'MINTCHIP',
    'loopset plurality leastwins winner' );
  note $LoopSet->logd();

  my $LoopSetA = Vote::Count::Method::CondorcetDropping->new(
    'BallotSet' => read_ballots('t/data/loop1.txt'),
    'DropStyle' => 'all',
    'DropRule'  => 'topcount',
  );
  my $rLoopSetA = $LoopSetA->RunCondorcetDropping();
  is( $rLoopSetA->{'winner'}, 'MINTCHIP', 'loopset plurality all' );
  note $LoopSetA->logd();

  my $KnotSet =
    Vote::Count::Method::CondorcetDropping->new(
    'BallotSet' => read_ballots('t/data/knot1.txt'), );

  my $rKnotSet = $KnotSet->RunCondorcetDropping();
  is( $rKnotSet->{'winner'}, 'CHOCOLATE', 'knotset winner with defaults' );
  note $KnotSet->logd();
};

subtest 'Approval Dropping' => sub {

  note "********** LOOPSET *********";
  my $LoopSet = Vote::Count::Method::CondorcetDropping->new(
    'BallotSet' => read_ballots('t/data/loop1.txt'),
    'DropStyle' => 'all',
    'DropRule'  => 'approval',
  );
  my $rLoopSet = $LoopSet->RunCondorcetDropping();
  is( $rLoopSet->{'winner'}, 'VANILLA', 'loopset approval all winner' );
  note $LoopSet->logd();
};

subtest 'Borda Dropping' => sub {

  note "\n********** LOOPSET BORDA *********";
  my $LoopSetB = Vote::Count::Method::CondorcetDropping->new(
    'BallotSet' => read_ballots('t/data/loop1.txt'),
    'DropStyle' => 'leastwins',
    'DropRule'  => 'borda',
  );
  my $rLoopSetB = $LoopSetB->RunCondorcetDropping();
  is( $rLoopSetB->{'winner'},
    'MINTCHIP', 'loopset plurality leastwins winner is the same' );
  note $LoopSetB->logd();

  note "\n********** KNOTSET BORDA *********";
  my $KnotSet = Vote::Count::Method::CondorcetDropping->new(
    'BallotSet' => read_ballots('t/data/knot1.txt'),
    'DropStyle' => 'all',
    'DropRule'  => 'borda',
  );

  my $rKnotSet = $KnotSet->RunCondorcetDropping();



( run in 0.547 second using v1.01-cache-2.11-cpan-71847e10f99 )