MCPcopy Create free account
hub / github.com/SuprDewd/CompetitiveProgramming / test

Function test

code/data-structures/union_find.test.cpp:1–56  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1void test() {
2 const int n = 20;
3 union_find uf(n);
4
5 for (int i = 0; i < n; i++) {
6 for (int j = 0; j < n; j++) {
7 if (i == j) {
8 assert_equal(uf.find(i), uf.find(j));
9 } else {
10 assert_not_equal(uf.find(i), uf.find(j));
11 }
12 }
13 }
14
15 assert_true(uf.unite(3, 5));
16 assert_equal(uf.find(3), uf.find(5));
17 assert_not_equal(uf.find(3), uf.find(4));
18 assert_not_equal(uf.find(3), uf.find(6));
19 assert_not_equal(uf.find(3), uf.find(2));
20 assert_not_equal(uf.find(5), uf.find(4));
21 assert_not_equal(uf.find(5), uf.find(6));
22 assert_not_equal(uf.find(5), uf.find(2));
23
24 assert_true(uf.unite(11, 5));
25 assert_equal(uf.find(3), uf.find(11));
26 assert_equal(uf.find(5), uf.find(11));
27 assert_equal(uf.find(3), uf.find(5));
28 assert_not_equal(uf.find(3), uf.find(4));
29 assert_not_equal(uf.find(3), uf.find(6));
30 assert_not_equal(uf.find(3), uf.find(2));
31 assert_not_equal(uf.find(5), uf.find(4));
32 assert_not_equal(uf.find(5), uf.find(6));
33 assert_not_equal(uf.find(5), uf.find(2));
34 assert_not_equal(uf.find(11), uf.find(4));
35 assert_not_equal(uf.find(11), uf.find(6));
36 assert_not_equal(uf.find(11), uf.find(2));
37
38 assert_false(uf.unite(11, 5));
39 assert_equal(uf.find(3), uf.find(11));
40 assert_equal(uf.find(5), uf.find(11));
41 assert_equal(uf.find(3), uf.find(5));
42 assert_not_equal(uf.find(3), uf.find(4));
43 assert_not_equal(uf.find(3), uf.find(6));
44 assert_not_equal(uf.find(3), uf.find(2));
45 assert_not_equal(uf.find(5), uf.find(4));
46 assert_not_equal(uf.find(5), uf.find(6));
47 assert_not_equal(uf.find(5), uf.find(2));
48 assert_not_equal(uf.find(11), uf.find(4));
49 assert_not_equal(uf.find(11), uf.find(6));
50 assert_not_equal(uf.find(11), uf.find(2));
51
52 assert_false(uf.unite(5, 3));
53 assert_false(uf.unite(3, 5));
54 assert_false(uf.unite(5, 11));
55 assert_false(uf.unite(3, 11));
56}
57// vim: cc=60 ts=2 sts=2 sw=2:

Callers

nothing calls this directly

Calls 6

assert_not_equalFunction · 0.85
assert_trueFunction · 0.85
assert_falseFunction · 0.85
uniteMethod · 0.80
assert_equalFunction · 0.50
findMethod · 0.45

Tested by

no test coverage detected