diff options
Diffstat (limited to 'test/pkuuid.c')
| -rw-r--r-- | test/pkuuid.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/pkuuid.c b/test/pkuuid.c index 42cf3e4..3491ea3 100644 --- a/test/pkuuid.c +++ b/test/pkuuid.c @@ -110,6 +110,42 @@ main(int argc, char *argv[]) fprintf(stdout, "\n"); } + // test parse + { + bool res; + unsigned char i; + struct pk_uuid idm; + struct pk_uuid idz; + struct pk_uuid id; + struct pk_uuid id_expected = { .uuid = { 0x67, 0xe5, 0x98, 0x5c, 0x82, 0xb7, 0x72, 0x69, 0x94, 0xda, 0x81, 0x9c, 0x18, 0xa7, 0xec, 0xe8 } }; + const char * s_idm = "ffffffff-ffff-ffff-ffff-ffffffffffff"; + const char * s_idz = "00000000-0000-0000-0000-000000000000"; + const char * s_id = "67e5985c-82b7-7269-94da-819c18a7ece8"; + + fprintf(stdout, "[%s] test parse.\n", __FILE__); + res = pk_uuid_parse(s_idm, &idm); + fprintf(stdout, "[%s] expected: " pk_uuid_printf_format "\n", __FILE__, pk_uuid_printf_var(pk_uuid_max)); + fprintf(stdout, "[%s] parsed : " pk_uuid_printf_format "\n", __FILE__, pk_uuid_printf_var(idm)); + if (res == false) exit(1); + + res = pk_uuid_parse(s_idz, &idz); + fprintf(stdout, "[%s] expected: " pk_uuid_printf_format "\n", __FILE__, pk_uuid_printf_var(pk_uuid_zed)); + fprintf(stdout, "[%s] parsed : " pk_uuid_printf_format "\n", __FILE__, pk_uuid_printf_var(idz)); + if (res == false) exit(1); + + res = pk_uuid_parse(s_id, &id); + fprintf(stdout, "[%s] expected: " pk_uuid_printf_format "\n", __FILE__, pk_uuid_printf_var(id_expected)); + fprintf(stdout, "[%s] parsed : " pk_uuid_printf_format "\n", __FILE__, pk_uuid_printf_var(id)); + if (res == false) exit(1); + + for (i = 0; i < 16; ++i) { + if (idm.uuid[i] != 0xFF) exit(1); + if (idz.uuid[i] != 0x00) exit(1); + if (id.uuid[i] != id_expected.uuid[i]) exit(1); + } + fprintf(stdout, "\n"); + } + { double ms; const int count = 1000; |
