1--TEST-- 2product_numbers.phpt: Unit tests for 3--FILE-- 4<?php 5// $Id$ 6// Validate test script 7$noYes = array('NO', 'YES'); 8 9require 'Validate/ISPN.php'; 10 11echo "Test Validate_ISPN\n"; 12echo "******************\n"; 13 14$ucc12s = array( 15 '614141210220', // OK 16 '614141210221', // NOK 17); 18 19$ean8s = array( 20 '43210121', // OK 21 '43210128', // NOK 22); 23 24$ean13s = array( 25 '1014541210223', // OK 26 '1014541210228', // NOK 27); 28 29$ean14s = array( 30 '91014541210226', // OK 31 '91014541210221', // NOK 32); 33 34$ssccs = array( 35 '106141411928374657', // OK 36 '106141411928374651', // NOK 37); 38 39$issns = array( 40 '0366-3590', // OK 41 '03663590', // OK 42 '0004-6620', // OK 43 '0394-6320', // OK 44 '0395-7500', // OK 45 '8675-4548', // OK 46 '4342-7677', // OK 47 '4545-6569', // OK 48 '3434-6872', // OK 49 '1044-789X', // OK 50 '1044-7890', // NOK 51 '1044-789', // NOK 52 '9685-5656', // NOK 53 '8768-4564', // NOK 54 '4564-7786', // NOK 55 '2317-8472', // NOK 56 '8675-4543', // NOK 57 '4342-7675', // NOK 58 '1044-789X', // OK 59 '1044-7890', // NOK 60); 61 62$isbn10 = array( 63 '0-06-064831-7', // OK 64 '0-440-34319-4', // OK 65 'ISBN 0-8436-1072-7', // OK 66 'ISBN 0-7357-1410-X', // OK 67 'ISBN 0-7357-1410-0', // NOK 68 'ISBN 0-312-33177-0', // OK 69 '0-312-33177-0', // OK 70 'ISBN 0-201-63361-2', // OK 71 'ISBN 0-201-63361-3', // NOK 72 '1-873671-00-4', // NOK 73 '1873671003', // NOK 74 '1-56619-909-2', // NOK 75 '1566199091', // NOK 76 '0735714100', // NOK 77 '013147149X', // OK 78 '1590593804', // OK 79 'ISBN 0-672-32704-X', // OK 80); 81 82$isbn13 = array( 83 '978-1-873671-00-9', // OK 84 '9781873671009', // OK 85 '978-1-56619-909-4', // OK 86 '9781566199094', // OK 87 '978-0131471498', // OK 88 '978-1590593806', // OK 89 '978-1590593803', // NO 90 '978-0672327049', // OK 91); 92 93$ismns = array( 94 'M-345-24680-5', // OK 95 '2-345-24680-5', // NOK 96 'M-345-24680-4', // NOK 97 'M-2306-7118-7', // OK 98); 99 100$isrcs = array( 101 'FR-Z03-98-00212', // OK 102 'ISRC FR-Z03-98-00212', // OK 103 'ISRC FR - Z03 - 98 - 00212', // OK 104 'FR-Z03-91-01231', // OK 105 'FR-Z03-91-01232', // OK 106 'US-G34-04-25384', // OK 107 'US-MR1-63-10018', // OK 108 '34-234-34-12312', // NOK 109 'US-MR1-HE-ASDFG', // NOK 110); 111 112echo "\nTest UCC12\n"; 113foreach ($ucc12s as $ucc12) { 114 echo "{$ucc12} : ".$noYes[Validate_ISPN::ucc12($ucc12)]."\n"; 115} 116 117echo "\nTest EAN8\n"; 118foreach ($ean8s as $ean8) { 119 echo "{$ean8} : ".$noYes[Validate_ISPN::ean8($ean8)]."\n"; 120} 121 122echo "\nTest EAN13\n"; 123foreach ($ean13s as $ean13) { 124 echo "{$ean13} : ".$noYes[Validate_ISPN::ean13($ean13)]."\n"; 125} 126 127echo "\nTest EAN14\n"; 128foreach ($ean14s as $ean14) { 129 echo "{$ean14} : ".$noYes[Validate_ISPN::ean14($ean14)]."\n"; 130} 131 132echo "\nTest SSCC\n"; 133foreach ($ssccs as $sscc) { 134 echo "{$sscc} : ".$noYes[Validate_ISPN::sscc($sscc)]."\n"; 135} 136 137echo "\nTest ISSN\n"; 138foreach ($issns as $issn) { 139 echo "{$issn} : ".$noYes[Validate_ISPN::issn($issn)]."\n"; 140} 141 142echo "\nTest ISBN10\n"; 143foreach ($isbn10 as $isbn) { 144 echo "{$isbn} : ".$noYes[Validate_ISPN::isbn10($isbn)]."\n"; 145} 146 147echo "\nTest ISBN13\n"; 148foreach ($isbn13 as $isbn) { 149 echo "{$isbn} : ".$noYes[Validate_ISPN::isbn13($isbn)]."\n"; 150} 151 152echo "\nTest ISMN\n"; 153foreach ($ismns as $ismn) { 154 echo "{$ismn} : ".$noYes[Validate_ISPN::ismn($ismn)]."\n"; 155} 156 157echo "\nTest ISRC\n"; 158foreach ($isrcs as $isrc) { 159 echo "{$isrc} : ".$noYes[Validate_ISPN::isrc($isrc)]."\n"; 160} 161?> 162--EXPECT-- 163Test Validate_ISPN 164****************** 165 166Test UCC12 167614141210220 : YES 168614141210221 : NO 169 170Test EAN8 17143210121 : YES 17243210128 : NO 173 174Test EAN13 1751014541210223 : YES 1761014541210228 : NO 177 178Test EAN14 17991014541210226 : YES 18091014541210221 : NO 181 182Test SSCC 183106141411928374657 : YES 184106141411928374651 : NO 185 186Test ISSN 1870366-3590 : YES 18803663590 : YES 1890004-6620 : YES 1900394-6320 : YES 1910395-7500 : YES 1928675-4548 : YES 1934342-7677 : YES 1944545-6569 : YES 1953434-6872 : YES 1961044-789X : YES 1971044-7890 : NO 1981044-789 : NO 1999685-5656 : NO 2008768-4564 : NO 2014564-7786 : NO 2022317-8472 : NO 2038675-4543 : NO 2044342-7675 : NO 2051044-789X : YES 2061044-7890 : NO 207 208Test ISBN10 2090-06-064831-7 : YES 2100-440-34319-4 : YES 211ISBN 0-8436-1072-7 : YES 212ISBN 0-7357-1410-X : YES 213ISBN 0-7357-1410-0 : NO 214ISBN 0-312-33177-0 : YES 2150-312-33177-0 : YES 216ISBN 0-201-63361-2 : YES 217ISBN 0-201-63361-3 : NO 2181-873671-00-4 : NO 2191873671003 : NO 2201-56619-909-2 : NO 2211566199091 : NO 2220735714100 : NO 223013147149X : YES 2241590593804 : YES 225ISBN 0-672-32704-X : YES 226 227Test ISBN13 228978-1-873671-00-9 : YES 2299781873671009 : YES 230978-1-56619-909-4 : YES 2319781566199094 : YES 232978-0131471498 : YES 233978-1590593806 : YES 234978-1590593803 : NO 235978-0672327049 : YES 236 237Test ISMN 238M-345-24680-5 : YES 2392-345-24680-5 : NO 240M-345-24680-4 : NO 241M-2306-7118-7 : YES 242 243Test ISRC 244FR-Z03-98-00212 : YES 245ISRC FR-Z03-98-00212 : YES 246ISRC FR - Z03 - 98 - 00212 : YES 247FR-Z03-91-01231 : YES 248FR-Z03-91-01232 : YES 249US-G34-04-25384 : YES 250US-MR1-63-10018 : YES 25134-234-34-12312 : NO 252US-MR1-HE-ASDFG : NO