示例#1
0
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);
}
示例#4
0
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
}