netlist: Fix component refdes mangling
[geda-gaf.git] / tests / storage / get_obdata.c
blob786bfd51b68f7d86c889479653b70e85cdd72524
1 /* Copyright (C) 2013-2020 Roland Lutz
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 2 of the License, or
6 (at your option) any later version.
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
13 You should have received a copy of the GNU General Public License
14 along with this program; if not, write to the Free Software Foundation,
15 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
17 #include "Setup.h"
20 int main(void)
22 xorn_revision_t rev0, rev1, rev2, rev3;
23 xorn_object_t ob0, ob1a, ob1b;
25 const void *data;
27 setup(&rev0, &rev1, &rev2, &rev3, &ob0, &ob1a, &ob1b);
29 data = xornsch_get_line_data(rev0, ob0);
30 assert(data == NULL);
31 data = xornsch_get_net_data(rev0, ob0);
32 assert(data == NULL);
33 data = xornsch_get_box_data(rev0, ob1a);
34 assert(data == NULL);
35 data = xornsch_get_circle_data(rev0, ob1a);
36 assert(data == NULL);
37 data = xornsch_get_box_data(rev0, ob1b);
38 assert(data == NULL);
39 data = xornsch_get_circle_data(rev0, ob1b);
40 assert(data == NULL);
42 data = xornsch_get_line_data(rev1, ob0);
43 assert(data != NULL);
44 assert(data != &line_data);
45 assert(memcmp(data, &line_data, sizeof line_data) == 0);
46 data = xornsch_get_net_data(rev1, ob0);
47 assert(data == NULL);
48 data = xornsch_get_box_data(rev1, ob1a);
49 assert(data == NULL);
50 data = xornsch_get_circle_data(rev1, ob1a);
51 assert(data == NULL);
52 data = xornsch_get_box_data(rev1, ob1b);
53 assert(data == NULL);
54 data = xornsch_get_circle_data(rev1, ob1b);
55 assert(data == NULL);
57 data = xornsch_get_line_data(rev2, ob0);
58 assert(data != NULL);
59 assert(data != &line_data);
60 assert(memcmp(data, &line_data, sizeof line_data) == 0);
61 data = xornsch_get_net_data(rev2, ob0);
62 assert(data == NULL);
63 data = xornsch_get_box_data(rev2, ob1a);
64 assert(data != NULL);
65 assert(data != &box_data);
66 assert(memcmp(data, &box_data, sizeof box_data) == 0);
67 data = xornsch_get_circle_data(rev2, ob1a);
68 assert(data == NULL);
69 data = xornsch_get_box_data(rev2, ob1b);
70 assert(data == NULL);
71 data = xornsch_get_circle_data(rev2, ob1b);
72 assert(data != NULL);
73 assert(data != &circle_data);
74 assert(memcmp(data, &circle_data, sizeof circle_data) == 0);
76 data = xornsch_get_line_data(rev3, ob0);
77 assert(data == NULL);
78 data = xornsch_get_net_data(rev3, ob0);
79 assert(data != NULL);
80 assert(data != &net_data);
81 assert(memcmp(data, &net_data, sizeof net_data) == 0);
82 data = xornsch_get_box_data(rev3, ob1a);
83 assert(data == NULL);
84 data = xornsch_get_circle_data(rev3, ob1a);
85 assert(data == NULL);
86 data = xornsch_get_box_data(rev3, ob1b);
87 assert(data == NULL);
88 data = xornsch_get_circle_data(rev3, ob1b);
89 assert(data != NULL);
90 assert(data != &circle_data);
91 assert(memcmp(data, &circle_data, sizeof circle_data) == 0);
93 xorn_free_revision(rev3);
94 xorn_free_revision(rev2);
95 xorn_free_revision(rev1);
96 xorn_free_revision(rev0);
97 return 0;