notify gitter on travis build failures
[sddekit.git] / test / test_util.c
blob2c78dbba94392f0278b951cee6dd1928e52de6fd
1 /* copyright 2016 Apache 2 sddekit authors */
3 #include <stdlib.h>
5 #include "sddekit.h"
6 #include "test.h"
8 #define N 10
10 TEST(util, uniqi) {
12 uint32_t i, *ints, *uints, nuniq;
14 ints = sd_malloc (sizeof(uint32_t) * N);
16 for (i=0; i<(N-2); i++)
17 ints[i] = (i + 2) % 3;
18 ints[8] = 3;
19 ints[9] = 4;
21 sd_util_uniqi(N, ints, &nuniq, &uints);
23 EXPECT_EQ( 5,nuniq );
24 EXPECT_EQ( 0,uints[0] );
25 EXPECT_EQ( 1,uints[1] );
26 EXPECT_EQ( 2,uints[2] );
27 EXPECT_EQ( 3,uints[3] );
28 EXPECT_EQ( 4,uints[4] );
30 sd_free(uints);
31 sd_free(ints);
35 uint32_t i, nuniq, *uints;
36 i=3;
37 sd_util_uniqi(1, &i, &nuniq, &uints);
38 EXPECT_EQ(1,nuniq);
39 EXPECT_EQ(3,uints[0]);
40 sd_free(uints);
44 uint32_t ints[2], nuniq, *uints;
45 ints[0] = 1;
46 ints[1] = 0;
47 sd_util_uniqi(2, ints, &nuniq, &uints);
48 EXPECT_EQ(2,nuniq);
49 EXPECT_EQ(0,uints[0]);
50 EXPECT_EQ(1,uints[1]);
51 sd_free(uints);