fb23b7e6de3b167ae97d6140ea01a7441f6f2566
[yaz-moved-to-github.git] / test / tst_oid.c
1 /*
2  * Copyright (C) 1995-2007, Index Data ApS
3  * See the file LICENSE for details.
4  *
5  * $Id: tst_oid.c,v 1.1 2007-06-24 19:27:12 adam Exp $
6  */
7
8 #include <stdlib.h>
9 #include <stdio.h>
10
11 #include <yaz/test.h>
12 #include <yaz/log.h>
13 #include <yaz/oid_db.h>
14
15 static void tst(void)
16 {
17     char oid_buf[OID_STR_MAX];
18     const char *n;
19     yaz_oid_db_t db;
20     const Odr_oid *c_oid;
21     Odr_oid *oid;
22     NMEM nmem = nmem_create();
23     ODR odr = odr_createmem(ODR_ENCODE);
24
25     db = yaz_oid_std();
26     YAZ_CHECK(db);
27
28     c_oid = yaz_string_to_oid(db, CLASS_ATTSET, "Bib-1");
29     YAZ_CHECK(c_oid && oid_oidcmp(c_oid, yaz_oid_attset_bib_1) == 0);
30
31     c_oid = yaz_string_to_oid(db, CLASS_GENERAL, "Bib-1");
32     YAZ_CHECK(c_oid && oid_oidcmp(c_oid, yaz_oid_attset_bib_1) == 0);
33
34     c_oid = yaz_string_to_oid(db, CLASS_ATTSET, "unknown");
35     YAZ_CHECK(c_oid == 0);
36
37     oid = yaz_string_to_oid_nmem(db, CLASS_ATTSET, "1.2.840.10003.3.1", nmem);
38     YAZ_CHECK(oid && !oid_oidcmp(oid, yaz_oid_attset_bib_1));
39
40     oid = yaz_string_to_oid_nmem(db, CLASS_ATTSET, "unknown", nmem);
41     YAZ_CHECK(oid == 0);
42
43     oid = yaz_string_to_oid_odr(db, CLASS_ATTSET, "1.2.840.10003.3.1", odr);
44     YAZ_CHECK(oid && !oid_oidcmp(oid, yaz_oid_attset_bib_1));
45
46     oid = yaz_string_to_oid_odr(db, CLASS_ATTSET, "unknown", odr);
47     YAZ_CHECK(oid == 0);
48
49     n = yaz_oid_to_string(db, yaz_oid_attset_bib_1, 0);
50     YAZ_CHECK(n && !strcmp(n, "Bib-1"));
51
52     n = oid_name_to_dotstring(CLASS_ATTSET, "Bib-1", oid_buf);
53     YAZ_CHECK(n && !strcmp(n, "1.2.840.10003.3.1"));
54
55     n = oid_name_to_dotstring(CLASS_DIAGSET, "Bib-1", oid_buf);
56     YAZ_CHECK(n && !strcmp(n, "1.2.840.10003.4.1"));
57
58     n = oid_name_to_dotstring(CLASS_DIAGSET, "unknown", oid_buf);
59     YAZ_CHECK(!n);
60
61     n = oid_name_to_dotstring(CLASS_DIAGSET, "1.2.840.10003.3.1", oid_buf);
62     YAZ_CHECK(!n);
63
64     nmem_destroy(nmem);
65     odr_destroy(odr);
66 }
67
68
69 int main (int argc, char **argv)
70 {
71     YAZ_CHECK_INIT(argc, argv);
72     YAZ_CHECK_LOG();
73     tst();
74     YAZ_CHECK_TERM;
75 }
76
77 /*
78  * Local variables:
79  * c-basic-offset: 4
80  * indent-tabs-mode: nil
81  * End:
82  * vim: shiftwidth=4 tabstop=8 expandtab
83  */
84