30 #include <visir_utils.h>
38 #define CONCAT(a,b) a ## _ ## b
39 #define CONCAT2X(a,b) CONCAT(a,b)
50 cpl_test_init(PACKAGE_BUGREPORT, CPL_MSG_WARNING);
53 stream = cpl_msg_get_level() > CPL_MSG_INFO
54 ? fopen(
"/dev/null",
"a") : stdout;
58 cpl_propertylist * mplist = cpl_propertylist_new();
60 cpl_test(visir_imglist_get_mplist(l) == NULL);
61 cpl_test(visir_imglist_get_data(l ,9) == NULL);
62 cpl_test_error(CPL_ERROR_ACCESS_OUT_OF_RANGE);
63 cpl_test_leq(10, l->_capacity);
64 cpl_test_eq(0, visir_imglist_get_size(l));
65 visir_imglist_delete(l, NULL);
66 cpl_test_error(CPL_ERROR_NONE);
68 l = visir_imglist_new(10, mplist);
69 cpl_test(visir_imglist_get_mplist(l) == mplist);
70 visir_imglist_set_mplist(l, NULL);
71 visir_imglist_delete(l, NULL);
72 cpl_test_error(CPL_ERROR_NONE);
74 l = visir_imglist_new(0, mplist);
75 cpl_test(visir_imglist_get_mplist(l) == mplist);
76 cpl_test_lt(0, l->_capacity);
77 cpl_test_noneq_ptr(l->auxdata, (
void*)NULL);
78 cpl_test_noneq_ptr(l->imgs, (
void*)NULL);
79 visir_imglist_delete(l, cpl_free);
80 cpl_test_error(CPL_ERROR_NONE);
81 cpl_propertylist_delete(mplist);
83 visir_imglist_delete(NULL, NULL);
84 visir_imglist_delete(NULL, cpl_free);
85 visir_imglist_unwrap(NULL, NULL);
86 cpl_test_error(CPL_ERROR_NONE);
93 cpl_propertylist * plists[N];
94 for (
int i = 0; i < N; i++) {
95 imgs[i] = cpl_image_new(3, 3, CPL_TYPE_INT);
96 plists[i] = cpl_propertylist_new();
98 cpl_propertylist_delete(plists[3]);
101 for (cpl_size i = 0; i < N; i++) {
102 visir_imglist_append(l, imgs[i], plists[i]);
103 cpl_test_image_abs(visir_imglist_get_img(l, i), imgs[i], 0);
104 cpl_test_eq_ptr(visir_imglist_get_data(l, i), plists[i]);
106 cpl_test_eq(N, visir_imglist_get_size(l));
107 cpl_test_leq(visir_imglist_get_size(l), l->_capacity);
109 for (cpl_size i = 0; i < N; i++) {
110 cpl_propertylist * p;
112 visir_imglist_get(l, i, &img, (
void**)&p);
113 cpl_test_eq_ptr(img, imgs[i]);
114 cpl_test_eq_ptr(p, plists[i]);
115 visir_imglist_get(l, i, &img, NULL);
116 cpl_test_eq_ptr(img, imgs[i]);
117 visir_imglist_get(l, i, NULL, (
void**)&p);
118 cpl_test_eq_ptr(p, plists[i]);
119 visir_imglist_get(l, i, NULL, NULL);
122 cpl_test(visir_imglist_get_img(l, -1) == NULL);
123 cpl_test_error(CPL_ERROR_ACCESS_OUT_OF_RANGE);
124 cpl_test(visir_imglist_get_img(l, N + 1) == NULL);
125 cpl_test_error(CPL_ERROR_ACCESS_OUT_OF_RANGE);
126 cpl_test(visir_imglist_get_data(l, -1) == NULL);
127 cpl_test_error(CPL_ERROR_ACCESS_OUT_OF_RANGE);
128 cpl_test(visir_imglist_get_data(l, N + 1) == NULL);
129 cpl_test_error(CPL_ERROR_ACCESS_OUT_OF_RANGE);
131 visir_imglist_delete(l, (visir_free)cpl_propertylist_delete);
138 cpl_propertylist * plists[N];
139 for (
int i = 0; i < N; i++) {
140 imgs[i] = cpl_image_new(3, 3, CPL_TYPE_INT);
141 plists[i] = cpl_propertylist_new();
143 cpl_propertylist_delete(plists[3]);
146 for (cpl_size i = 0; i < N; i++) {
147 visir_imglist_append(l, imgs[i], plists[i]);
148 cpl_test_image_abs(visir_imglist_get_img(l, i), imgs[i], 0);
149 cpl_test_eq_ptr(visir_imglist_get_data(l, i), plists[i]);
152 visir_imglist_unwrap(l, (visir_free)cpl_propertylist_delete);
153 for (cpl_size i = 0; i < N; i++)
154 cpl_image_delete(imgs[i]);
160 void * data = cpl_malloc(4);
161 void * data2 = cpl_malloc(4);
162 cpl_imagelist * imgs = cpl_imagelist_new();
163 for (
int i = 0; i < N; i++)
164 cpl_imagelist_set(imgs, cpl_image_new(3, 3, CPL_TYPE_INT), i);
166 visir_imglist_append_imglist(l, imgs, NULL);
167 cpl_test_error(CPL_ERROR_NONE);
169 visir_imglist_set_data(l, 3, data);
170 visir_imglist_set_data(l, 4, data2);
171 cpl_test_error(CPL_ERROR_NONE);
173 cpl_test_eq(N, visir_imglist_get_size(l));
174 cpl_test_leq(visir_imglist_get_size(l), l->_capacity);
176 for (cpl_size i = 0; i < visir_imglist_get_size(l); i++) {
177 cpl_test_image_abs(visir_imglist_get_img(l, i),
178 cpl_imagelist_get(imgs, i), 0);
181 cpl_test_eq_ptr(visir_imglist_get_data(l, 3), data);
182 cpl_test_eq_ptr(visir_imglist_get_data(l, 4), data2);
183 cpl_imagelist_delete(imgs);
184 visir_imglist * nl = visir_imglist_new(1, visir_imglist_get_mplist(l));
185 for (cpl_size i = 0; i < visir_imglist_get_size(l); i++) {
186 visir_imglist_append(nl, visir_imglist_get_img(l, i),
187 visir_imglist_get_data(l, i));
189 cpl_test_eq(visir_imglist_get_size(l), visir_imglist_get_size(nl));
190 visir_imglist_unwrap(l, NULL);
191 visir_imglist_delete(nl, cpl_free);
194 if (stream != stdout) cpl_test_zero( fclose(stream) );
195 return cpl_test_end(0);
int main(void)
Find a plugin and submit it to some tests.