Algorithm-CP-IZ
view release on metacpan or search on metacpan
t/09notify.t view on Meta::CPAN
use strict;
use warnings;
use Test::More tests => 9;
BEGIN { use_ok('Algorithm::CP::IZ') };
SKIP: {
my $iz = Algorithm::CP::IZ->new();
skip "old iZ", 3
unless (defined($iz->get_version)
&& $iz->IZ_VERSION_MAJOR >= 3
&& $iz->IZ_VERSION_MINOR >= 6);
my $s = $iz->create_int(1, 9);
my $e = $iz->create_int(0, 9);
my $n = $iz->create_int(0, 9);
my $d = $iz->create_int(0, 9);
my $m = $iz->create_int(1, 9);
my $o = $iz->create_int(0, 9);
my $r = $iz->create_int(0, 9);
my $y = $iz->create_int(0, 9);
$iz->AllNeq([$s, $e, $n, $d, $m, $o, $r, $y]);
my $v1 = $iz->ScalProd([$s, $e, $n, $d], [1000, 100, 10, 1]);
my $v2 = $iz->ScalProd([$m, $o, $r, $e], [1000, 100, 10, 1]);
my $v3 = $iz->ScalProd([$m, $o, $n, $e, $y], [10000, 1000, 100, 10, 1]);
my $v4 = $iz->Add($v1, $v2);
$v3->Eq($v4);
package TestObj;
sub new {
my $class = shift;
bless {}, $class;
}
my %called;
sub search_start {
my $self = shift;
my $array = shift;
$called{search_start}++;
}
sub search_end {
my $self = shift;
my $array = shift;
$called{search_end}++;
# 9567 + 1085 = 10652
# SEND MORE MONEY
# 95671082
$called{search_end_solution} = join("", ($s, $e, $n, $d, $m, $o, $r, $y));
}
sub before_value_selection {
my $self = shift;
my ($depth, $index, $vs, $array) = @_;
# debug
# print STDERR "value selection: $depth, $index, $array\n";
# print STDERR " ", $vs->[0], ", ", $vs->[1], "\n";
# print STDERR join(", ", map {$_->min} @$array), "\n";
}
sub after_value_selection {
my $self = shift;
my ($result, $depth, $index, $vs, $array) = @_;
# debug
# print STDERR "after value selection: $result, $depth, $index, $array\n";
# print STDERR " ", $vs->[0], ", ", $vs->[1], "\n";
# print STDERR join(", ", map {$_->min} @$array), "\n";
}
sub enter {
my $self = shift;
my ($depth, $index, $array) = @_;
# debug
# print STDERR "enter: $depth, $index, $array\n";
# print STDERR join(", ", map {"$_"} @$array), "\n";
}
sub leave {
my $self = shift;
my ($depth, $index, $array) = @_;
# debug
# print STDERR "leave: $depth, $index, $array\n";
# print STDERR join(", ", map {"$_"} @$array), "\n";
}
sub found {
my $self = shift;
my ($depth, $array) = @_;
# debug
( run in 0.484 second using v1.01-cache-2.11-cpan-e1769b4cff6 )