netlist: Add `tedax' backend
[geda-gaf.git] / tests / storage / is_selected.c
blobfec3871db7da149f137b30793807704d961fc8fc
1 /* Copyright (C) 2013-2017 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 xorn_selection_t sel;
27 setup(&rev0, &rev1, &rev2, &rev3, &ob0, &ob1a, &ob1b);
29 assert(sel = xorn_select_none());
30 assert(xorn_object_is_selected(rev0, sel, ob0) == false);
31 assert(xorn_object_is_selected(rev0, sel, ob1a) == false);
32 assert(xorn_object_is_selected(rev0, sel, ob1b) == false);
33 assert(xorn_object_is_selected(rev1, sel, ob0) == false);
34 assert(xorn_object_is_selected(rev1, sel, ob1a) == false);
35 assert(xorn_object_is_selected(rev1, sel, ob1b) == false);
36 assert(xorn_object_is_selected(rev2, sel, ob0) == false);
37 assert(xorn_object_is_selected(rev2, sel, ob1a) == false);
38 assert(xorn_object_is_selected(rev2, sel, ob1b) == false);
39 assert(xorn_object_is_selected(rev3, sel, ob0) == false);
40 assert(xorn_object_is_selected(rev3, sel, ob1a) == false);
41 assert(xorn_object_is_selected(rev3, sel, ob1b) == false);
42 xorn_free_selection(sel);
44 assert(sel = xorn_select_object(ob1a));
45 assert(xorn_object_is_selected(rev0, sel, ob0) == false);
46 assert(xorn_object_is_selected(rev0, sel, ob1a) == false);
47 assert(xorn_object_is_selected(rev0, sel, ob1b) == false);
48 assert(xorn_object_is_selected(rev1, sel, ob0) == false);
49 assert(xorn_object_is_selected(rev1, sel, ob1a) == false);
50 assert(xorn_object_is_selected(rev1, sel, ob1b) == false);
51 assert(xorn_object_is_selected(rev2, sel, ob0) == false);
52 assert(xorn_object_is_selected(rev2, sel, ob1a) == true);
53 assert(xorn_object_is_selected(rev2, sel, ob1b) == false);
54 assert(xorn_object_is_selected(rev3, sel, ob0) == false);
55 assert(xorn_object_is_selected(rev3, sel, ob1a) == false);
56 assert(xorn_object_is_selected(rev3, sel, ob1b) == false);
57 xorn_free_selection(sel);
59 assert(sel = xorn_select_all(rev3));
60 assert(xorn_object_is_selected(rev0, sel, ob0) == false);
61 assert(xorn_object_is_selected(rev0, sel, ob1a) == false);
62 assert(xorn_object_is_selected(rev0, sel, ob1b) == false);
63 assert(xorn_object_is_selected(rev1, sel, ob0) == true);
64 assert(xorn_object_is_selected(rev1, sel, ob1a) == false);
65 assert(xorn_object_is_selected(rev1, sel, ob1b) == false);
66 assert(xorn_object_is_selected(rev2, sel, ob0) == true);
67 assert(xorn_object_is_selected(rev2, sel, ob1a) == false);
68 assert(xorn_object_is_selected(rev2, sel, ob1b) == true);
69 assert(xorn_object_is_selected(rev3, sel, ob0) == true);
70 assert(xorn_object_is_selected(rev3, sel, ob1a) == false);
71 assert(xorn_object_is_selected(rev3, sel, ob1b) == true);
72 xorn_free_selection(sel);
74 xorn_free_revision(rev3);
75 xorn_free_revision(rev2);
76 xorn_free_revision(rev1);
77 xorn_free_revision(rev0);
78 return 0;