Data-Identifier

 view release on metacpan or  search on metacpan

t/20_generate.t  view on Meta::CPAN

    '#ffffff'     => 'feb62789-9ad6-5302-9a17-9de4f2f44d5c',
    '#FFFFFF'     => 'feb62789-9ad6-5302-9a17-9de4f2f44d5c',
    '#FfFfFf'     => 'feb62789-9ad6-5302-9a17-9de4f2f44d5c',
    '#0000FF'     => 'd9739512-b882-56b8-a971-7f1a71afe02c',
);

my %date_vectors = (
    '2024-04-13Z' => 'f3e72374-dde4-5056-b125-badb829cec0a',
    '2024-04Z'    => '8bdbf1e5-f39c-54ea-916c-9523c140961c',
    '2024Z'       => '22c02bd0-4428-5bb1-bfd8-ed1a59a32553',
    '1970-01-01Z' => 'e49c8067-d293-5f1a-bbeb-00c99977f610',
    0             => 'e49c8067-d293-5f1a-bbeb-00c99977f610',
    '2038-01-19Z' => '51a431e8-4971-5e4e-9581-063280f42029',
    2147483647    => '51a431e8-4971-5e4e-9581-063280f42029',
    '1901-12-13Z' => '4195ae1b-66f4-558e-bde3-055909b43f13',
    -2147483647   => '4195ae1b-66f4-558e-bde3-055909b43f13',
);

my %language_vectors = (
    af            => '4fc82126-3ead-594a-9846-a0f2db006347',
    de            => '6895ad9b-2ba6-5933-8455-968aa781a88b',
    en            => 'c50134ca-0a32-5c5c-833c-2686043c0b3f',
    nl            => 'da816af7-e49b-5406-b712-8dc96d968541',
    'de-de'       => '1efa0416-9478-55c2-91ef-3895e0403612',
    'en-au'       => '3e90523c-14b6-5d72-8004-4f4575e5a9ac',
    'en-gb'       => '202a80e8-a188-5e2d-9972-9733bf12a4ce',
    'en-zw'       => 'ec524f05-a786-58e2-a453-a21922f6a8d7',
);

my @multiplicity_vectors = (
    [[total     => 0] => '535af734-8197-51fa-a61b-295d166595e7'],
    [[total     => 1] => 'a6bdec44-2d17-58f0-91ae-1a9527c6743a'],
    [[total     => 2] => '1ce04668-42af-5c16-b852-9da3371b167c'],
    [[total     => 3] => '9fdf665e-dc1f-5b6d-9f3f-f4257f3a70d3'],
    [[minimum   => 0] => '59922082-1cdd-5bec-a018-313c17680dab'],
    [[minimum   => 1] => 'd0477113-6126-5378-9084-8a2044151ad6'],
    [[minimum   => 2] => '9d092e53-23f3-59b0-8df7-b6be09db73d6'],
    [[minimum   => 3] => '67f5f8f6-95fe-52e2-9eaa-056596fcadb5'],
);

my @unit_vectors = (
    # Generic:
    [{A =>  1}                => 'efbba5cc-fb18-5328-9536-36dc88657842'],
    [{A =>  1, prefix => 'k'} => 'af9fc575-297e-5ec7-8c4f-e54ed074c908'],
    [{s => -1, prefix => 'M'} => '4101d8ea-292a-5b05-9dba-78d22f1e8be5'],
    [{s => -1, prefix => 'm'} => 'd1baf28e-9393-5f5a-b49a-d9384c5463c3'],
    [{s => -2, m =>  2, kg =>  1, prefix => 'G'} => '6c03ede4-eecd-5c51-99e4-d5c27bbe88f2'],

    # Some special cases:
    [{J =>  1, prefix => 'G'} => '6c03ede4-eecd-5c51-99e4-d5c27bbe88f2'],
    [{2 => 1} => '73415b5a-31fb-5b5a-bb82-8ea5eb3b12f7'],
);

foreach my $int (sort keys %int_vectors) {
    my $identifier = Data::Identifier::Generate->integer($int);
    isa_ok($identifier, 'Data::Identifier');
    is($identifier->uuid, $int_vectors{$int}, 'Matching UUID for '.$int);
}

foreach my $char (sort keys %character_vectors) {
    my $identifier = Data::Identifier::Generate->unicode_character(raw => $char);
    isa_ok($identifier, 'Data::Identifier');
    is($identifier->uuid, $character_vectors{$char}, 'Matching UUID for '.ord($char));
}

foreach my $colour (sort keys %colour_vectors) {
    my $identifier = Data::Identifier::Generate->colour($colour);
    isa_ok($identifier, 'Data::Identifier');
    is($identifier->uuid, $colour_vectors{$colour}, 'Matching UUID for '.$colour);
}

foreach my $date (sort keys %date_vectors) {
    my $identifier = Data::Identifier::Generate->date($date);
    isa_ok($identifier, 'Data::Identifier');
    is($identifier->uuid, $date_vectors{$date}, 'Matching UUID for '.$date);
}

foreach my $date (sort keys %language_vectors) {
    my $identifier = Data::Identifier::Generate->language($date);
    isa_ok($identifier, 'Data::Identifier');
    is($identifier->uuid, $language_vectors{$date}, 'Matching UUID for '.$date);
}

foreach my $vector (@multiplicity_vectors) {
    my $identifier = Data::Identifier::Generate->multiplicity(@{$vector->[0]});
    isa_ok($identifier, 'Data::Identifier');
    is($identifier->uuid, $vector->[-1], 'Matching UUID for '.$vector->[-1]);
}

foreach my $vector (@unit_vectors) {
    my $identifier = Data::Identifier::Generate->unit($vector->[0]);
    isa_ok($identifier, 'Data::Identifier');
    is($identifier->uuid, $vector->[-1], 'Matching UUID for '.$vector->[-1]);
}

exit 0;



( run in 0.953 second using v1.01-cache-2.11-cpan-aadc1410aed )