Improve test suite by performing no op swap operation randomly
This commit is contained in:
1 parent
dab085e3a7
commit
22b18830f7
1 file changed
+10
-1
+10
-1
@@ -261,6 +261,7 @@ static void insert(unsigned cmd, unsigned ref)
|
|||||||
assert( cmd < 5);
|
assert( cmd < 5);
|
||||||
assert( ref <= g_num);
|
assert( ref <= g_num);
|
||||||
int val = (int) g_num + 1;
|
int val = (int) g_num + 1;
|
||||||
|
//printf("Command %d for value %d at %d\n", cmd, val, ref);
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
case 0:
|
case 0:
|
||||||
g_tree[++g_num] = tree_insert_up( g_tree[ref], val);
|
g_tree[++g_num] = tree_insert_up( g_tree[ref], val);
|
||||||
@@ -299,9 +300,10 @@ static inline unsigned int rand_get(void)
|
|||||||
|
|
||||||
static void test_gen(void)
|
static void test_gen(void)
|
||||||
{
|
{
|
||||||
tree_t t;
|
tree_t t, t0;
|
||||||
string_t s;
|
string_t s;
|
||||||
tree_init(t);
|
tree_init(t);
|
||||||
|
tree_init(t0);
|
||||||
string_init(s);
|
string_init(s);
|
||||||
g_root = g_tree[++ g_num] = tree_set_root(t, 1);
|
g_root = g_tree[++ g_num] = tree_set_root(t, 1);
|
||||||
tree_get_str(s, t, false);
|
tree_get_str(s, t, false);
|
||||||
@@ -310,8 +312,15 @@ static void test_gen(void)
|
|||||||
unsigned ref = 1 + (rand_get() % g_num);
|
unsigned ref = 1 + (rand_get() % g_num);
|
||||||
insert(cmd, ref);
|
insert(cmd, ref);
|
||||||
tree_get_str(s, t, false);
|
tree_get_str(s, t, false);
|
||||||
|
tree_set(t0, t);
|
||||||
|
unsigned ref1 = 1 + (rand_get() % g_num);
|
||||||
|
unsigned ref2 = 1 + (rand_get() % g_num);
|
||||||
|
tree_swap_at(g_tree[ref1], g_tree[ref2], false);
|
||||||
|
tree_swap_at(g_tree[ref1], g_tree[ref2], false);
|
||||||
|
assert(tree_equal_p(t, t0));
|
||||||
}
|
}
|
||||||
string_clear(s);
|
string_clear(s);
|
||||||
|
tree_clear(t0);
|
||||||
tree_clear(t);
|
tree_clear(t);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user