diff options
| author | tylo <[email protected]> | 2021-09-17 11:24:39 +0200 |
|---|---|---|
| committer | tylo <[email protected]> | 2021-09-17 11:24:39 +0200 |
| commit | 2bed88914afe24dc3a245f398b321e8f236d23d7 (patch) | |
| tree | 7724be6dff0e5d61189f3e890d4533e50309e48a /tests/test_new_deq.c | |
| parent | ce75e57b326f6d6368b366760336b20e660f272f (diff) | |
| download | STC-modified-2bed88914afe24dc3a245f398b321e8f236d23d7.tar.gz STC-modified-2bed88914afe24dc3a245f398b321e8f236d23d7.zip | |
Moved tests and v1 files
Diffstat (limited to 'tests/test_new_deq.c')
| -rw-r--r-- | tests/test_new_deq.c | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/test_new_deq.c b/tests/test_new_deq.c new file mode 100644 index 00000000..d1a5c2a6 --- /dev/null +++ b/tests/test_new_deq.c @@ -0,0 +1,57 @@ +#include <stc/cstr.h>
+#include <stc/forward.h>
+
+forward_cdeq(i32, int);
+forward_cdeq(pnt, struct Point);
+
+struct MyStruct {
+ cdeq_i32 intvec;
+ cdeq_pnt pntvec;
+} typedef MyStruct;
+
+
+#define F_tag i32
+#define i_val int
+#include <stc/cdeq.h>
+
+struct Point { int x, y; } typedef Point;
+int point_compare(const Point* a, const Point* b) {
+ int c = c_default_compare(&a->x, &b->x);
+ return c ? c : c_default_compare(&a->y, &b->y);
+}
+#define F_tag pnt
+#define i_val Point
+#define i_cmp point_compare
+#include <stc/cdeq.h>
+
+#define i_val float
+#include <stc/cdeq.h>
+
+#define i_val_str
+#include <stc/cdeq.h>
+
+
+int main()
+{
+ cdeq_i32 vec = cdeq_i32_init();
+ cdeq_i32_push_back(&vec, 123);
+ cdeq_i32_del(&vec);
+
+ cdeq_float fvec = cdeq_float_init();
+ cdeq_float_push_back(&fvec, 123.3);
+ cdeq_float_del(&fvec);
+
+ cdeq_pnt pvec = cdeq_pnt_init();
+ cdeq_pnt_push_back(&pvec, (Point){42, 14});
+ cdeq_pnt_push_back(&pvec, (Point){32, 94});
+ cdeq_pnt_push_front(&pvec, (Point){62, 81});
+ cdeq_pnt_sort(&pvec);
+ c_foreach (i, cdeq_pnt, pvec)
+ printf(" (%d %d)", i.ref->x, i.ref->y);
+ puts("");
+ cdeq_pnt_del(&pvec);
+
+ cdeq_str svec = cdeq_str_init();
+ cdeq_str_emplace_back(&svec, "Hello, friend");
+ cdeq_str_del(&svec);
+}
\ No newline at end of file |
