END_TEST START_TEST (test_get_i_array_2d) { int size, el_size, i, ret; i_array_2d * v; i_array * ia1; i_array * ia2; el_size = 3; ia1 = init_i_array(el_size); ia2 = init_i_array(el_size); for (i = 0; i < el_size; i++) { append_i_array(ia1, i); append_i_array(ia2, (el_size + i)); } size = 1; v = init_i_array_2d(size, el_size); append_i_array_2d(v, ia1); ret = i_arrays_equal(get_i_array_2d(v, 0), ia1); ck_assert_msg((ret != 0), "`i_array_2d` element is incorrect"); append_i_array_2d(v, ia2); ret = i_arrays_equal(get_i_array_2d(v, 1), ia2); ck_assert_msg((ret != 0), "`i_array_2d` element is incorrect"); free_i_array_2d(v); free_i_array(ia1); free_i_array(ia2); }
END_TEST START_TEST (test_generate_int_partitions_n4) { int n, i; n = 4; i_array * expected = init_i_array(1); i_array_2d * partitions = init_i_array_2d(1,1); partitions = generate_int_partitions(n); ck_assert_int_eq(partitions->length, 5); i = 0; expected->length = 0; append_i_array(expected, 4); ck_assert_msg((i_arrays_equal(get_i_array_2d(partitions, i), expected) != 0), "unexpected partition"); i = 1; expected->length = 0; append_i_array(expected, 3); append_i_array(expected, 1); ck_assert_msg((i_arrays_equal(get_i_array_2d(partitions, i), expected) != 0), "unexpected partition"); i = 2; expected->length = 0; append_i_array(expected, 2); append_i_array(expected, 2); ck_assert_msg((i_arrays_equal(get_i_array_2d(partitions, i), expected) != 0), "unexpected partition"); i = 3; expected->length = 0; append_i_array(expected, 2); append_i_array(expected, 1); append_i_array(expected, 1); ck_assert_msg((i_arrays_equal(get_i_array_2d(partitions, i), expected) != 0), "unexpected partition"); i = 4; expected->length = 0; append_i_array(expected, 1); append_i_array(expected, 1); append_i_array(expected, 1); append_i_array(expected, 1); ck_assert_msg((i_arrays_equal(get_i_array_2d(partitions, i), expected) != 0), "unexpected partition"); free_i_array(expected); free_i_array_2d(partitions); }
END_TEST START_TEST (test_generate_int_partitions_n1) { int n; n = 1; i_array * expected = init_i_array(1); i_array_2d * partitions = init_i_array_2d(1,1); partitions = generate_int_partitions(n); ck_assert_int_eq(partitions->length, 1); append_i_array(expected, 1); ck_assert_msg((i_arrays_equal(get_i_array_2d(partitions, 0), expected) != 0), "unexpected partition"); free_i_array(expected); free_i_array_2d(partitions); }
END_TEST START_TEST (test_get_i_array_2d_fail) { int size, el_size, i, ret; i_array_2d * v; i_array * ia1; el_size = 3; ia1 = init_i_array(el_size); for (i = 0; i < el_size; i++) { append_i_array(ia1, i); } size = 1; v = init_i_array_2d(size, el_size); append_i_array_2d(v, ia1); get_i_array_2d(v, 1); // SIGABRT }