source: src/tests/libcfa_vector.c@ a43e1d7

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors ctor deferred_resn demangler enum forall-pointer-decay jacob/cs343-translation jenkins-sandbox memory new-ast new-ast-unique-expr new-env no_list persistent-indexer pthread-emulation qualifiedEnum resolv-new with_gc
Last change on this file since a43e1d7 was 888ee76, checked in by Thierry Delisle <tdelisle@…>, 9 years ago

fixed the tests for lib vector

  • Property mode set to 100644
File size: 907 bytes
RevLine 
[ea29e73]1#include <stdlib>
2
[ed3f3bf4]3extern "C" {
4 #include <stdio.h>
5}
6
[ea29e73]7#include <containers/vector>
8
[ed3f3bf4]9#define assert(x) do {\
10 if(!(x)) {\
11 printf("CHECK failed : %s at %s:%i\n", #x, __FILE__, __LINE__);\
12 abort();\
13 }}while(0 == 1)\
14
[ea29e73]15int main(int argc, char const *argv[]) {
[ed3f3bf4]16 vector(int, heap_allocator(int)) iv;
17 ctor(&iv);
18
19 assert(empty(&iv));
20 assert(size(&iv) == 0);
21 printf("%d\n", size(&iv));
[ea29e73]22
23 push_back(&iv, 1);
[ed3f3bf4]24 printf("%d\n", size(&iv));
25 assert(size(&iv) == 1);
[ea29e73]26 push_back(&iv, 2);
[ed3f3bf4]27 printf("%d\n", size(&iv));
28 assert(size(&iv) == 2);
[ea29e73]29 push_back(&iv, 3);
[ed3f3bf4]30 printf("%d\n", size(&iv));
31 assert(size(&iv) == 3);
[ea29e73]32
33 assert(!empty(&iv));
34 assert(size(&iv) == 3);
35 assert(at(&iv, 0) == 1);
[ed3f3bf4]36 assert((&iv)[0] == 1);
[ea29e73]37 assert(at(&iv, 1) == 2);
[ed3f3bf4]38 assert((&iv)[1] == 2);
[ea29e73]39 assert(at(&iv, 2) == 3);
[ed3f3bf4]40 assert((&iv)[2] == 3);
[ea29e73]41
42 clear(&iv);
43
44 assert(empty(&iv));
45 assert(size(&iv) == 0);
[888ee76]46 printf("%d\n", size(&iv));
[ea29e73]47
48 return 0;
49}
Note: See TracBrowser for help on using the repository browser.