Algorithm-CheckDigits

 view release on metacpan or  search on metacpan

lib/Algorithm/CheckDigits/M11_015.pm  view on Meta::CPAN

=head1 NAME

CheckDigits::M11_015 - compute check digits for ESR5 (CH)

=head1 SYNOPSIS

  use Algorithm::CheckDigits;

  $ustid = CheckDigits('esr5_ch');

  if ($ustid->is_valid('050001000012000 241170032660178 10304')) {
	# do something
  }

  $cn = $ustid->complete('0001000012000 241170032660178 10304');
  # $cn = '050001000012000 241170032660178 10304'

  $cd = $ustid->checkdigit('0001000012000 241170032660178 10304');
  # $cd = '05'

  $bn = $ustid->basenumber('050001000012000 241170032660178 10304');
  # $bn = '0001000012000 241170032660178 10304';
  
=head1 DESCRIPTION

=head2 ALGORITHM

=over 4

=item 1

Beginning right all digits are weighted with the repeating

t/esr5_ch.t  view on Meta::CPAN

use Test;
BEGIN {
	plan(tests => 2);
};
use Algorithm::CheckDigits;

my $esr5 = CheckDigits('esr5_ch');

#
my $number = '0001000012000 241170032660178 10304';
ok($esr5->is_valid('05' . $number));
ok('05' . $number eq $esr5->complete($number));

t/nip.t  view on Meta::CPAN

use Test;
BEGIN {
	plan(tests => 11);
};
use Algorithm::CheckDigits;

my $nip = CheckDigits('nip');

#
my $number = '768000246';
ok(not $nip->is_valid($number . '0'));
ok(not $nip->is_valid($number . '1'));
ok(not $nip->is_valid($number . '2'));
ok(not $nip->is_valid($number . '3'));
ok(not $nip->is_valid($number . '4'));
ok(not $nip->is_valid($number . '5'));
ok($nip->is_valid($number . '6'));
ok(not $nip->is_valid($number . '7'));
ok(not $nip->is_valid($number . '8'));
ok(not $nip->is_valid($number . '9'));

t/valid.data  view on Meta::CPAN

	[ 'sedol', 'B0YBLH2', 'B0YBLH', '2',
	           'B0YBLH3' ],

	# M013
	[ 'postcheckkonti', '85-12345678-7', '85-12345678-', '7',
	                    '85-12345678-9' ],

	# M014
	[ 'isbn',       '3-88229-192-3', '3-88229-192-', '3',
	                '3-88229-192-0' ],
	[ 'issn',       '0724-8679',     '0724-867',     '9',
	                '0724-8870' ],
	[ 'ustid_pt',   '136695973',     '13669597',	 '3',
	                '136695970' ],
	[ 'vatrn_pt',   '136695973',     '13669597',	 '3',
	                '136695970' ],
	[ 'hkid',       'K1234560',	 'K123456',      '0',
	                'K1234567' ],
	[ 'wagonnr_br', '123456-1',	 '123456-',      '1',
	                '123456-7' ],
	[ 'nhs_gb',	'3882291850',	 '388229185',    '0',
	                '3882291851' ],
	[ 'vat_sl',	'59082437',	 '5908243',	 '7',
			'59082432' ],

	# M015
	[ 'pzn',       '4877800', '487780', '0',
	               '4877801' ],

        # MBase-002
	[ 'blutbeutel', '2761011234567893', '276101123456789', '3',
	                '2761011234567890' ],
	[ 'blutbeutel', '02', '0', '2', '01' ],
	[ 'blutbeutel', '19', '1', '9', '10' ],

t/valid.data  view on Meta::CPAN

	[ 'blutbeutel', '08235', '0823', '5',
	                '08234' ],
	[ 'blutbeutel', '2766169732125615', '276616973212561', '5',
	                '2766169732125610' ],
	[ 'bzue_de', '9433463951409', '943346395140', '9',
	             '9433463951400' ],
	[ 'ustid_de', '136 695 976', '136 695 97', '6',
	              '136 695 970' ],

	# MBase-003
	[ 'sici', '0724-8679(20040308)6:<138>2.0.TX;2-H',
	          '0724-8679(20040308)6:<138>2.0.TX;2-', 'H',
		  '0724-8679(20040308)6:<138>2.0.TX;2-A',
	],

	# I don't know what for this method is.
	# M07-001
	#[ 'm07-001', '0', '', '0',
	#             '1' ],
        #[ 'm07-001', '1234567892', '123456789', '2',
	#             '1234567890' ],

	# M09-001

t/valid.data  view on Meta::CPAN


	# M11-012
	[ 'bwpk_de', '151058-D-20711', '151058-D-2071', '1',
	             '151058-D-20712' ],

	# M11-013
	[ 'ustid_gr', '123456783', '12345678','3',
	              '123456789' ],

	# M11-015
	[ 'esr5_ch', '050001000012000 241170032660178 10304',
		     '0001000012000 241170032660178 10304', '05',
	             '060001000012000 241170032660178 10304' ],

	# M11-017
	[ 'ecno', '200-235-0', '200-235-', '0', '200-235-1' ],
	         
	# M16-001
	[ 'isan', '123A567B8912E01A', '123A567B8912E01', 'A',
	          '123A567B8912E01B' ],

	# M23-001
	[ 'dni_es', '54362315-K', '54362315-', 'K',



( run in 0.508 second using v1.01-cache-2.11-cpan-7add2cbd662 )