cdigit
Version:
Collection of check digit algorithms implemented in JavaScript
152 lines (147 loc) • 5.27 kB
JavaScript
const common = require("./common");
const algo = require("..").gtin;
describe(`${algo.longName} (${algo.name})`, () => {
// {{{ List sample strings
const valid = [
["894232288721", "89423228872", "1"],
["051275060824", "05127506082", "4"],
["5025301371401", "502530137140", "1"],
["888430139121", "88843013912", "1"],
["807297069419", "80729706941", "9"],
["076092011774", "07609201177", "4"],
["076092010807", "07609201080", "7"],
["809070208121", "80907020812", "1"],
["4009856026109", "400985602610", "9"],
["4406030021903", "440603002190", "3"],
["4009856467346", "400985646734", "6"],
["4009856465090", "400985646509", "0"],
["4009856466813", "400985646681", "3"],
["4009856466677", "400985646667", "7"],
["799861827580", "79986182758", "0"],
["600649654734", "60064965473", "4"],
["799861828112", "79986182811", "2"],
["000000357494", "00000035749", "4"],
["684586001646", "68458600164", "6"],
["5028881084631", "502888108463", "1"],
["810051010497", "81005101049", "7"],
["291000253781", "29100025378", "1"],
["811406020000", "81140602000", "0"],
["026938948610", "02693894861", "0"],
["026938958053", "02693895805", "3"],
["026938653620", "02693865362", "0"],
["681131161374", "68113116137", "4"],
["024543951513", "02454395151", "3"],
["883629998459", "88362999845", "9"],
["4250965945441", "425096594544", "1"],
["4049827108915", "404982710891", "5"],
["6930597933921", "693059793392", "1"],
["620713001721", "62071300172", "1"],
["612953230924", "61295323092", "4"],
["786460006904", "78646000690", "4"],
["617529426299", "61752942629", "9"],
["885308138880", "88530813888", "0"],
["978-1118907443", "978-111890744", "3"],
["978-0596805524", "978-059680552", "4"],
["978-1593279509", "978-159327950", "9"],
["978-1118531648", "978-111853164", "8"],
["978-1449340131", "978-144934013", "1"],
["978-0596517748", "978-059651774", "8"],
["978-1943872053", "978-194387205", "3"],
["978-0321812186", "978-032181218", "6"],
["978-1491978917", "978-149197891", "7"],
["978-0672338090", "978-067233809", "0"],
["4571104435600", "457110443560", "0"],
["4901001397457", "490100139745", "7"],
["4901301259837", "490130125983", "7"],
["4901301267665", "490130126766", "5"],
["4901301267689", "490130126768", "9"],
["4901301327840", "490130132784", "0"],
["4901301740533", "490130174053", "3"],
["4901422152505", "490142215250", "5"],
["4901422153502", "490142215350", "2"],
["4901670110197", "490167011019", "7"],
["4901777284289", "490177728428", "9"],
["4901777284326", "490177728432", "6"],
["4902011711400", "490201171140", "0"],
["4902011716283", "490201171628", "3"],
["4902115136161", "490211513616", "1"],
["4902115151102", "490211515110", "2"],
["4902430674782", "490243067478", "2"],
["4902705011625", "490270501162", "5"],
["4902705126558", "490270512655", "8"],
["4903080748960", "490308074896", "0"],
["4903111317950", "490311131795", "0"],
["4903111332564", "490311133256", "4"],
["4903111363407", "490311136340", "7"],
["4903111363711", "490311136371", "1"],
["4903111363803", "490311136380", "3"],
["4903301242031", "490330124203", "1"],
["4904230027607", "490423002760", "7"],
["4904230027621", "490423002762", "1"],
["4904230027713", "490423002771", "3"],
["4904230029809", "490423002980", "9"],
["4904230029816", "490423002981", "6"],
["4904670040600", "490467004060", "0"],
["4904670055031", "490467005503", "1"],
["4906666111127", "490666611112", "7"],
["4930726000175", "493072600017", "5"],
["4930726000540", "493072600054", "0"],
["4971436603317", "497143660331", "7"],
["4973360566850", "497336056685", "0"],
["4973450164782", "497345016478", "2"],
["4979911760050", "497991176005", "0"],
["4979911760104", "497991176010", "4"],
["4979911761057", "497991176105", "7"],
["4979911761101", "497991176110", "1"],
["4979911762054", "497991176205", "4"],
["4979911762108", "497991176210", "8"],
["4979911764058", "497991176405", "8"],
["4979911764102", "497991176410", "2"],
["4979911765055", "497991176505", "5"],
];
const invalid = [
"894232288726",
"051275060826",
"5025301371403",
"888430139123",
"807297069413",
"076092011777",
"076092010804",
"809070208126",
"4009856026104",
"4406030021902",
"4009856467343",
"4009856465093",
"4009856466816",
"978-1118907440",
"978-0596805527",
"978-1593279504",
"978-1118531644",
"978-1449340133",
"978-0596517742",
"978-1943872058",
"978-0321812189",
"978-1491978918",
"978-0672338094",
"4571104435604",
"4901001397454",
"4901301259839",
"4901301267668",
"4901301267688",
"4901301327841",
"4901301740535",
"4901422152508",
"4901422153501",
"4901670110198",
"4901777284282",
"4901777284320",
"4902011711402",
"4902011716285",
"4902115136160",
"4902115151104",
"4902430674780",
];
// }}}
common.testAlgo(algo, valid, invalid);
});
// vim: fdm=marker fmr&