summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2017-09-25 17:15:59 +0200
committerSven Eden <yamakuzure@gmx.net>2017-11-22 08:24:52 +0100
commit5a59d7ac6d3bae01c2946dd77363840edbd988b8 (patch)
treec9d8c25ec492f2090b1137db25da52f9e8845d3e /src/test
parent12d8f0daf798a51a22ea8f5e10e2b860c1e73005 (diff)
set: add new helper set_make() which is like set_new() + multiple set_put() in vararg
Diffstat (limited to 'src/test')
-rw-r--r--src/test/test-set.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/test/test-set.c b/src/test/test-set.c
index 0ee5ddcc9..3fab350cf 100644
--- a/src/test/test-set.c
+++ b/src/test/test-set.c
@@ -55,9 +55,54 @@ static void test_set_put(void) {
assert_se(set_put(m, (void*) "22") == 0);
}
+static void test_set_make(void) {
+ _cleanup_set_free_ Set *s = NULL;
+
+ assert_se(set_make(&s, NULL, UINT_TO_PTR(4), UINT_TO_PTR(6), UINT_TO_PTR(8), NULL) == 0);
+ assert_se(set_size(s) == 3);
+ assert_se(!set_contains(s, UINT_TO_PTR(0)));
+ assert_se(!set_contains(s, UINT_TO_PTR(1)));
+ assert_se(!set_contains(s, UINT_TO_PTR(2)));
+ assert_se(!set_contains(s, UINT_TO_PTR(3)));
+ assert_se(set_contains(s, UINT_TO_PTR(4)));
+ assert_se(!set_contains(s, UINT_TO_PTR(5)));
+ assert_se(set_contains(s, UINT_TO_PTR(6)));
+ assert_se(!set_contains(s, UINT_TO_PTR(7)));
+ assert_se(set_contains(s, UINT_TO_PTR(8)));
+ assert_se(!set_contains(s, UINT_TO_PTR(9)));
+ s = set_free(s);
+
+ assert_se(set_make(&s, NULL, NULL) == 0);
+ assert_se(set_size(s) == 0);
+ assert_se(!set_contains(s, UINT_TO_PTR(0)));
+ assert_se(!set_contains(s, UINT_TO_PTR(4)));
+ assert_se(!set_contains(s, UINT_TO_PTR(6)));
+ assert_se(!set_contains(s, UINT_TO_PTR(8)));
+ s = set_free(s);
+
+ assert_se(set_make(&s, NULL, UINT_TO_PTR(3), NULL) == 0);
+ assert_se(set_size(s) == 1);
+ assert_se(!set_contains(s, UINT_TO_PTR(0)));
+ assert_se(!set_contains(s, UINT_TO_PTR(1)));
+ assert_se(!set_contains(s, UINT_TO_PTR(2)));
+ assert_se(set_contains(s, UINT_TO_PTR(3)));
+ assert_se(!set_contains(s, UINT_TO_PTR(4)));
+
+ assert_se(set_make(&s, NULL, UINT_TO_PTR(2), UINT_TO_PTR(5), NULL) == 0);
+ assert_se(set_size(s) == 2);
+ assert_se(!set_contains(s, UINT_TO_PTR(0)));
+ assert_se(!set_contains(s, UINT_TO_PTR(1)));
+ assert_se(set_contains(s, UINT_TO_PTR(2)));
+ assert_se(!set_contains(s, UINT_TO_PTR(3)));
+ assert_se(!set_contains(s, UINT_TO_PTR(4)));
+ assert_se(set_contains(s, UINT_TO_PTR(5)));
+ assert_se(!set_contains(s, UINT_TO_PTR(6)));
+}
+
int main(int argc, const char *argv[]) {
test_set_steal_first();
test_set_put();
+ test_set_make();
return 0;
}