6 use Test
::More tests
=> 66;
10 use_ok
('C4::Barcodes');
16 hbyymmincr
=> ['MAIN'],
17 EAN13
=> ['0000000695152','892685001928'],
21 my ($obj1,$obj2,$format,$value,$initial,$serial,$re,$next,$previous,$temp);
22 my @formats = sort keys %thash;
24 my $pre = sprintf '(%-12s)', $_;
25 ok
($obj1 = C4
::Barcodes
->new($_), "$pre Barcode Creation : new($_)");
27 skip
"No Object Returned by new($_)", 17 unless $obj1;
28 ok
($_ eq ($format = $obj1->autoBarcode()), "$pre autoBarcode() : " . ($format || 'FAILED') );
29 ok
($initial= $obj1->initial(), "$pre initial() : " . ($initial|| 'FAILED') );
30 $temp = $obj1->db_max();
31 diag
". $pre db_max() : " . ($temp || 'Database Empty or No Matches') ;
32 ok
($temp = $obj1->max(), "$pre max() : " . ($temp || 'FAILED') );
33 ok
($value = $obj1->value(), "$pre value() : " . ($value || 'FAILED') );
34 ok
($serial = $obj1->serial(), "$pre serial() : " . ($serial || 'FAILED') );
35 ok
($temp = $obj1->is_max(), "$pre obj1->is_max() [obj1 should currently be max]");
36 diag
"Creating new Barcodes object (obj2) based on the old one (obj1)\n";
37 ok
($obj2 = $obj1->new(), "$pre Barcode Creation : obj2 = obj1->new()");
38 diag
". $pre obj2->value: " . $obj2->value . "\n";
39 ok
(not($obj1->is_max()), "$pre obj1->is_max() [obj1 should no longer be max]");
40 ok
( $obj2->is_max(), "$pre obj2->is_max() [obj2 should currently be max]");
41 ok
($obj2->serial == $obj1->serial + 1, "$pre obj2->serial() : " . ($obj2->serial || 'FAILED'));
42 ok
($previous = $obj2->previous(), "$pre obj2->previous() : " . ($previous || 'FAILED'));
43 ok
($next = $obj1->next(), "$pre obj1->next() : " . ($next || 'FAILED'));
44 ok
($next->previous()->value() eq $obj1->value(), "$pre Roundtrip, value : " . ($obj1->value || 'FAILED'));
45 ok
($previous->next()->value() eq $obj2->value(), "$pre Roundtrip, value : " . ($obj2->value || 'FAILED'));
50 diag
"\nTesting with valid inputs:\n";
51 foreach $format (@formats) {
52 my $pre = sprintf '(%-12s)', $format;
53 foreach my $testval (@
{$thash{ $format }}) {
54 ok
($obj1 = C4
::Barcodes
->new($format,$testval), "$pre Barcode Creation : new('$format','$testval')");
55 if ($format eq 'hbyymmincr') {
56 diag
"\nExtra tests for hbyymmincr\n";
59 ok
($branch = $obj1->branch(), "$pre branch() : " . ($branch || 'FAILED') );
60 ok
($branch eq $obj2->branch(), "$pre branch extended to derived object : " . ($obj2->branch || 'FAILED'));