← Back to davo.co
aboutsummaryrefslogtreecommitdiffstats
path: root/test_circular.c
blob: 338e16a959fe2dd398bfa12c1248221635433246 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdlib.h>
#include "circular.h"

int main(int argc, char* argv[]) {
  size_t len = argc > 1 ? strtoull(argv[1], nullptr, 0) : 10;
  fprintf(stderr, "starting with %zu elements in total\n", len);
  circular* c = circular_new(len);
  circular_fput(c, stderr);
  for (size_t i = 0; i < len-1; ++i) {
    if (!circular_append(c, i)) break;
  }
  circular_fput(c, stderr);
  for (size_t i = 0; i < len/2; ++i) {
    if (!circular_append(c, circular_pop(c))) break;
  }
  circular_fput(c, stderr);
  c = circular_resize(c, 2*len);
  circular_fput(c, stderr);
  c = circular_resize(c, len);
  circular_fput(c, stderr);
  circular_delete(c);
}