예제 #1
0
void test_update_data_2(UBFH *p_ub)
{
    short s;
    long l;
    char c;
    float f;
    double d;
    char buf[100];
    BFLDLEN len;
    char carr[] = "CARRAY1 TEST STRING DATA1 --- SOME --- LONG - STUFF";

    /* OCC 0 */
    assert_equal(Bget(p_ub, T_SHORT_FLD, 0, (char *)&s, 0), SUCCEED);
    assert_equal(s, 881);
    assert_equal(Bget(p_ub, T_LONG_FLD, 0, (char *)&l, 0), SUCCEED);
    assert_equal(l, -10211);
    assert_equal(Bget(p_ub, T_CHAR_FLD, 0, (char *)&c, 0), SUCCEED);
    assert_equal(c, '1');
    assert_equal(Bget(p_ub, T_FLOAT_FLD, 0, (char *)&f, 0), SUCCEED);
    assert_double_equal(f, 117.31);
    assert_equal(Bget(p_ub, T_DOUBLE_FLD, 0, (char *)&d, 0), SUCCEED);
    assert_double_equal(d, 112312.1111);
    assert_equal(Bget(p_ub, T_STRING_FLD, 0, (char *)buf, 0), SUCCEED);
    assert_string_equal(buf, "TEST STR VAL1M THIS IS LOGN STRING");

    len = sizeof(buf);
    assert_equal(Bget(p_ub, T_CARRAY_FLD, 0, (char *)buf, &len), SUCCEED);
    assert_equal(strncmp(buf, carr, strlen(carr)), 0);

    /* OCC 1 */
    assert_equal(Bget(p_ub, T_SHORT_FLD, 6, (char *)&s, 0), SUCCEED);
    assert_equal(s, 81);
    assert_equal(Bget(p_ub, T_LONG_FLD, 6, (char *)&l, 0), SUCCEED);
    assert_equal(l, -211);
    assert_equal(Bget(p_ub, T_CHAR_FLD, 6, (char *)&c, 0), SUCCEED);
    assert_equal(c, '.');
    assert_equal(Bget(p_ub, T_FLOAT_FLD, 6, (char *)&f, 0), SUCCEED);
    assert_double_equal(f, 11.31);
    assert_equal(Bget(p_ub, T_DOUBLE_FLD, 6, (char *)&d, 0), SUCCEED);
    assert_double_equal(d, 11231.1111);
    assert_equal(Bget(p_ub, T_STRING_FLD, 6, (char *)buf, 0), SUCCEED);
    assert_string_equal(buf, "3EST STRING ARRAY2 THIS IS EVEN MORE LONGER");

    len = sizeof(buf);
    carr[0] = '2';
    assert_equal(Bget(p_ub, T_CARRAY_FLD, 6, (char *)buf, &len), SUCCEED);
    assert_equal(strncmp(buf, carr, strlen(carr)), 0);

    /* Test FLD2 */
    assert_equal(Bget(p_ub, T_SHORT_2_FLD, 1, (char *)&s, 0), SUCCEED);
    assert_equal(s, 2121);
    assert_equal(Bget(p_ub, T_LONG_2_FLD, 1, (char *)&l, 0), SUCCEED);
    assert_equal(l, 2121);
    assert_equal(Bget(p_ub, T_CHAR_2_FLD, 1, (char *)&c, 0), SUCCEED);
    assert_equal(c, 'c');
    assert_equal(Bget(p_ub, T_FLOAT_2_FLD, 1, (char *)&f, 0), SUCCEED);
    assert_double_equal(f, 1227);
    assert_equal(Bget(p_ub, T_DOUBLE_2_FLD, 1, (char *)&d, 0), SUCCEED);
    assert_double_equal(d, 1232.1);
    assert_equal(Bget(p_ub, T_STRING_2_FLD, 1, (char *)buf, 0), SUCCEED);
    assert_string_equal(buf, "XTEST STR VAL");

    len = sizeof(buf);
    carr[0] = 'G';
    assert_equal(Bget(p_ub, T_CARRAY_2_FLD, 1, (char *)buf, &len), SUCCEED);
    assert_equal(strncmp(buf, carr, strlen(carr)), 0);
}
예제 #2
0
void test_update_data_1(UBFH *p_ub)
{
    short s;
    long l;
    char c;
    float f;
    double d;
    char buf[100];
    BFLDLEN len;
    char carr[] = "CARRAY1 TEST STRING DATA";

    /* OCC 0 */
    assert_equal(Bget(p_ub, T_SHORT_FLD, 0, (char *)&s, 0), SUCCEED);
    assert_equal(s, 88);
    assert_equal(Bget(p_ub, T_LONG_FLD, 0, (char *)&l, 0), SUCCEED);
    assert_equal(l, -1021);
    assert_equal(Bget(p_ub, T_CHAR_FLD, 0, (char *)&c, 0), SUCCEED);
    assert_equal(c, 'c');
    assert_equal(Bget(p_ub, T_FLOAT_FLD, 0, (char *)&f, 0), SUCCEED);
    assert_double_equal(f, 17.31);
    assert_equal(Bget(p_ub, T_DOUBLE_FLD, 0, (char *)&d, 0), SUCCEED);
    assert_double_equal(d, 12312.1111);
    assert_equal(Bget(p_ub, T_STRING_FLD, 0, (char *)buf, 0), SUCCEED);
    assert_string_equal(buf, "TEST STR VAL");

    len = sizeof(buf);
    assert_equal(Bget(p_ub, T_CARRAY_FLD, 0, (char *)buf, &len), SUCCEED);
    assert_equal(strncmp(buf, carr, strlen(carr)), 0);

    /* OCC 1 */
    assert_equal(Bget(p_ub, T_SHORT_FLD, 5, (char *)&s, 0), SUCCEED);
    assert_equal(s, 8);
    assert_equal(Bget(p_ub, T_LONG_FLD, 5, (char *)&l, 0), SUCCEED);
    assert_equal(l, -21);
    assert_equal(Bget(p_ub, T_CHAR_FLD, 5, (char *)&c, 0), SUCCEED);
    assert_equal(c, '.');
    assert_equal(Bget(p_ub, T_FLOAT_FLD, 5, (char *)&f, 0), SUCCEED);
    assert_double_equal(f, 1.31);
    assert_equal(Bget(p_ub, T_DOUBLE_FLD, 5, (char *)&d, 0), SUCCEED);
    assert_double_equal(d, 1231.1111);
    assert_equal(Bget(p_ub, T_STRING_FLD, 5, (char *)buf, 0), SUCCEED);
    assert_string_equal(buf, "TEST STRING ARRAY2");

    len = sizeof(buf);
    carr[0] = 'Y';
    assert_equal(Bget(p_ub, T_CARRAY_FLD, 5, (char *)buf, &len), SUCCEED);
    assert_equal(strncmp(buf, carr, strlen(carr)), 0);

    /* Test FLD2 */
    assert_equal(Bget(p_ub, T_SHORT_2_FLD, 8, (char *)&s, 0), SUCCEED);
    assert_equal(s, 212);
    assert_equal(Bget(p_ub, T_LONG_2_FLD, 8, (char *)&l, 0), SUCCEED);
    assert_equal(l, 212);
    assert_equal(Bget(p_ub, T_CHAR_2_FLD, 8, (char *)&c, 0), SUCCEED);
    assert_equal(c, 'b');
    assert_equal(Bget(p_ub, T_FLOAT_2_FLD, 8, (char *)&f, 0), SUCCEED);
    assert_double_equal(f, 12127);
    assert_equal(Bget(p_ub, T_DOUBLE_2_FLD, 8, (char *)&d, 0), SUCCEED);
    assert_double_equal(d, 1231232.1);
    assert_equal(Bget(p_ub, T_STRING_2_FLD, 8, (char *)buf, 0), SUCCEED);
    assert_string_equal(buf, "XTEST STR VAL");

    len = sizeof(buf);
    carr[0] = 'X';
    assert_equal(Bget(p_ub, T_CARRAY_2_FLD, 8, (char *)buf, &len), SUCCEED);
    assert_equal(strncmp(buf, carr, strlen(carr)), 0);
}
Ensure double_differences_do_not_matter_past_significant_figures() {
	significant_figures_for_assert_double_are(3);
	assert_double_equal(1.113, 1.115);
	assert_double_equal(1113, 1115);
	assert_double_equal(1113000, 1115000);
}
Ensure one_should_assert_long_double_equal_to_one() {
	long double x = 1;
	long double y = 1;
    assert_double_equal(x, y);
}
Ensure one_should_assert_double_equal_to_one() {
    assert_double_equal(1, 1);
}
Ensure one_should_assert_float_equal_to_one() {
	float x = 1;
	float y = 1;
    assert_double_equal(x, y);
}
예제 #7
0
파일: test_badd.c 프로젝트: zhfeng/endurox
/**
 * Basic test for Badd & Bget
 */
void test_Badd_str(void)
{
    char pan1[32] = "THIS IS 1";
    char pan2[32] = "THIS IS 2";
    char pan3[32] = "THIS IS 3";
    char pan4[32] = "THIS IS 4";

    double amttxn1=10021.123;
    double amttxn2=20021.123;
    double amttxn3=321.123;
    double amttxn4=11.123;
    double amttxn5=33.123;
    double tmp_amttxn=0;

    char tmp_buf[32+8]; /* 8 for alignment */
    int org_used = Bused(M_p_ub1);

    assert_equal(
            Badd(M_p_ub1, T_STRING_FLD, pan1, 0),
            SUCCEED);

    assert_equal(
            Badd(M_p_ub1, T_STRING_FLD, pan2, 0),
            SUCCEED);

    assert_equal(
            Badd(M_p_ub1, T_STRING_FLD, pan3, 0),
            SUCCEED);

    assert_equal(
            Badd(M_p_ub1, T_STRING_FLD, pan4, 0),
            SUCCEED);

    /* Get the data from buffer */
    assert_equal(
            Bget(M_p_ub1, T_STRING_FLD, 0, tmp_buf, 0),
            SUCCEED);
    assert_string_equal(pan1, tmp_buf);

    assert_equal(
            Bget(M_p_ub1, T_STRING_FLD, 1, tmp_buf, 0),
            SUCCEED);
    assert_string_equal(pan2, tmp_buf);

    assert_equal(
            Bget(M_p_ub1, T_STRING_FLD, 2, tmp_buf, 0),
            SUCCEED);
    assert_string_equal(pan3, tmp_buf);

    assert_equal(
            Bget(M_p_ub1, T_STRING_FLD, 3, tmp_buf, 0),
            SUCCEED);
    assert_string_equal(pan4, tmp_buf);

    /* Now add something other, some double value? */
    assert_equal(
            Badd(M_p_ub1, T_DOUBLE_4_FLD, (char *)&amttxn1, 0),
            SUCCEED);
    assert_equal(
            Badd(M_p_ub1, T_DOUBLE_4_FLD, (char *)&amttxn2, 0),
            SUCCEED);
    assert_equal(
            Badd(M_p_ub1, T_DOUBLE_4_FLD, (char *)&amttxn3, 0),
            SUCCEED);
    assert_equal(
            Badd(M_p_ub1, T_DOUBLE_4_FLD, (char *)&amttxn4, 0),
            SUCCEED);
    /* Do not have space availabel in buffer */
    assert_equal(
            Badd(M_p_ub1, T_DOUBLE_4_FLD, (char *)&amttxn5, 0),
            FAIL);
    /* Compare the values from buffer */
    assert_equal(
        Bget(M_p_ub1, T_DOUBLE_4_FLD, 0, (char *)&tmp_amttxn, 0),
        SUCCEED);
    assert_double_equal(tmp_amttxn, 10021.123);

    assert_equal(
            Bget(M_p_ub1, T_DOUBLE_4_FLD, 1, (char *)&tmp_amttxn, 0),
            SUCCEED);
    assert_double_equal(tmp_amttxn, 20021.123);

    assert_equal(
            Bget(M_p_ub1, T_DOUBLE_4_FLD, 2, (char *)&tmp_amttxn, 0),
            SUCCEED);
    assert_double_equal(tmp_amttxn, 321.123);
    assert_equal(
            Bget(M_p_ub1, T_DOUBLE_4_FLD, 3, (char *)&tmp_amttxn, 0),
            SUCCEED);
    assert_double_equal(tmp_amttxn, 11.123);
    /* Do not have space in buffer! */
    assert_equal(
            Bget(M_p_ub1, T_DOUBLE_4_FLD, 4, (char *)&tmp_amttxn, 0),
            FAIL);

    /* Summ the stuff up (+4 - EOS symbols in buffer)*/
    assert_equal(org_used+strlen(pan1)+strlen(pan2)+strlen(pan3)+strlen(pan4)+4+
                sizeof(amttxn1)+sizeof(amttxn2)+sizeof(amttxn3)+sizeof(amttxn4)+
                8*sizeof(BFLDID)+8/*align*/, Bused(M_p_ub1));
}