0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034 #include <stdio.h>
0035 #include <stdlib.h>
0036 #include <cgreen/cgreen.h>
0037 #include <ubf.h>
0038 #include <ndrstandard.h>
0039 #include <string.h>
0040 #include "test.fd.h"
0041 #include "ubfunit1.h"
0042
0043
0044
0045
0046
0047
0048
0049 Ensure(test_CBget_short_org)
0050 {
0051 char buf[640];
0052 UBFH *p_ub = (UBFH *)buf;
0053 short test_val=4564;
0054 int len = 0;
0055 short small_val=44;
0056
0057 short test_short = 0;
0058 long test_long = 0;
0059 char test_char = 0;
0060 float test_float = 0.0;
0061 double test_double = 0.0;
0062 char test_string[128];
0063 char test_carray[128];
0064 char tmp[1024];
0065 char *ptr;
0066 BVIEWFLD v;
0067 UBFH *p_tmp_ub = (UBFH *)tmp;
0068
0069
0070 assert_equal(Binit(p_ub, sizeof(buf)), EXSUCCEED);
0071 len = sizeof(test_val);
0072 assert_equal(Badd(p_ub, T_SHORT_FLD, (char *)&test_val, len), EXSUCCEED);
0073
0074
0075
0076 len=sizeof(test_short);
0077 assert_equal(CBget(p_ub, T_SHORT_FLD, 0, (char *)&test_short, &len, BFLD_SHORT), EXSUCCEED);
0078 assert_equal(test_short, 4564);
0079 assert_equal(len, sizeof(test_short));
0080
0081 len=sizeof(test_long);
0082 assert_equal(CBget(p_ub, T_SHORT_FLD, 0, (char *)&test_long, &len, BFLD_LONG), EXSUCCEED);
0083 assert_equal(test_long, 4564);
0084 assert_equal(len, sizeof(test_long));
0085
0086 assert_equal(Bchg(p_ub, T_SHORT_FLD, 0, (char *)&small_val, 0), EXSUCCEED);
0087 assert_equal(CBget(p_ub, T_SHORT_FLD, 0, (char *)&test_char, 0, BFLD_CHAR), EXSUCCEED);
0088 assert_equal(test_char, ',');
0089 assert_equal(Bchg(p_ub, T_SHORT_FLD, 0, (char *)&test_val, 0), EXSUCCEED);
0090
0091 len=sizeof(test_float);
0092 assert_equal(CBget(p_ub, T_SHORT_FLD, 0, (char *)&test_float, &len, BFLD_FLOAT), EXSUCCEED);
0093 assert_equal(test_float, 4564);
0094 assert_equal(len, sizeof(test_float));
0095
0096 assert_equal(CBget(p_ub, T_SHORT_FLD, 0, (char *)&test_double, 0, BFLD_DOUBLE), EXSUCCEED);
0097 assert_equal(test_float, 4564);
0098
0099 len=sizeof(test_string);
0100 assert_equal(CBget(p_ub, T_SHORT_FLD, 0, (char *)test_string, &len, BFLD_STRING), EXSUCCEED);
0101 assert_string_equal(test_string, "4564");
0102 assert_equal(len, 5);
0103
0104 assert_equal(CBget(p_ub, T_SHORT_FLD, 0, (char *)test_carray, 0, BFLD_CARRAY), EXSUCCEED);
0105 assert_equal(strncmp(test_carray, "4564", 4), 0);
0106
0107
0108 assert_equal(CBget(p_ub, T_SHORT_FLD, 0, (char *)&ptr, 0, BFLD_PTR), EXSUCCEED);
0109 assert_equal((long)ptr, 4564);
0110
0111 v.data = tmp;
0112 assert_equal(CBget(p_ub, T_SHORT_FLD, 0, (char *)&v, 0, BFLD_VIEW), EXFAIL);
0113 assert_equal(Berror, BEBADOP);
0114
0115 assert_equal(CBget(p_ub, T_SHORT_FLD, 0, (char *)p_tmp_ub, 0, BFLD_UBF), EXFAIL);
0116 assert_equal(Berror, BEBADOP);
0117
0118 }
0119
0120
0121
0122
0123 Ensure(test_CBget_long_org)
0124 {
0125 char buf[640];
0126 UBFH *p_ub = (UBFH *)buf;
0127 long test_val=456412;
0128 int len = 0;
0129 long small_val=44;
0130
0131 short test_short = 0;
0132 long test_long = 0;
0133 char test_char = 0;
0134 float test_float = 0.0;
0135 double test_double = 0.0;
0136 char test_string[128];
0137 char test_carray[128];
0138 char tmp[1024];
0139 char *ptr;
0140 BVIEWFLD v;
0141 UBFH *p_tmp_ub = (UBFH *)tmp;
0142
0143
0144 assert_equal(Binit(p_ub, sizeof(buf)), EXSUCCEED);
0145 len = sizeof(test_val);
0146 assert_equal(Badd(p_ub, T_LONG_FLD, (char *)&small_val, len), EXSUCCEED);
0147
0148
0149
0150 len=sizeof(test_short);
0151 assert_equal(CBget(p_ub, T_LONG_FLD, 0, (char *)&test_short, &len, BFLD_SHORT), EXSUCCEED);
0152 assert_equal(test_short, 44);
0153 assert_equal(len, sizeof(test_short));
0154
0155 len=sizeof(test_char);
0156 assert_equal(CBget(p_ub, T_LONG_FLD, 0, (char *)&test_char, &len, BFLD_CHAR), EXSUCCEED);
0157 assert_equal(test_char, ',');
0158 assert_equal(Bchg(p_ub, T_LONG_FLD, 0, (char *)&test_val, 0), EXSUCCEED);
0159 assert_equal(len, sizeof(test_char));
0160
0161
0162 len=sizeof(test_long);
0163 assert_equal(CBget(p_ub, T_LONG_FLD, 0, (char *)&test_long, &len, BFLD_LONG), EXSUCCEED);
0164 assert_equal(test_long, 456412);
0165 assert_equal(len, sizeof(test_long));
0166
0167 len=sizeof(test_float);
0168 assert_equal(CBget(p_ub, T_LONG_FLD, 0, (char *)&test_float, &len, BFLD_FLOAT), EXSUCCEED);
0169 assert_equal(test_float, 456412);
0170 assert_equal(len, sizeof(test_float));
0171
0172 len=sizeof(test_double);
0173 assert_equal(CBget(p_ub, T_LONG_FLD, 0, (char *)&test_double, &len, BFLD_DOUBLE), EXSUCCEED);
0174 assert_equal(test_float, 456412);
0175 assert_equal(len, sizeof(test_double));
0176
0177 len=sizeof(test_string);
0178 assert_equal(CBget(p_ub, T_LONG_FLD, 0, (char *)test_string, &len, BFLD_STRING), EXSUCCEED);
0179 assert_string_equal(test_string, "456412");
0180 assert_equal(len, 7);
0181
0182 len=sizeof(test_string);
0183 assert_equal(CBget(p_ub, T_LONG_FLD, 0, (char *)test_carray, &len, BFLD_CARRAY), EXSUCCEED);
0184 assert_equal(strncmp(test_carray, "456412", 6), 0);
0185 assert_equal(len, 6);
0186
0187
0188 assert_equal(CBget(p_ub, T_LONG_FLD, 0, (char *)&ptr, 0, BFLD_PTR), EXSUCCEED);
0189 assert_equal((long)ptr, 456412);
0190
0191 v.data = tmp;
0192 assert_equal(CBget(p_ub, T_LONG_FLD, 0, (char *)&v, 0, BFLD_VIEW), EXFAIL);
0193 assert_equal(Berror, BEBADOP);
0194
0195 assert_equal(CBget(p_ub, T_LONG_FLD, 0, (char *)p_tmp_ub, 0, BFLD_UBF), EXFAIL);
0196 assert_equal(Berror, BEBADOP);
0197
0198 }
0199
0200
0201
0202
0203 Ensure(test_CBget_char_org)
0204 {
0205 char buf[640];
0206 UBFH *p_ub = (UBFH *)buf;
0207 long test_val=456412;
0208 int len = 0;
0209 long small_val=0;
0210
0211 short test_short = 0;
0212 long test_long = 0;
0213 char test_char = 'r';
0214 float test_float = 0.0;
0215 double test_double = 0.0;
0216 char test_string[128];
0217 char test_carray[128];
0218 char tmp[1024];
0219 char *ptr;
0220 BVIEWFLD v;
0221 UBFH *p_tmp_ub = (UBFH *)tmp;
0222
0223
0224 assert_equal(Binit(p_ub, sizeof(buf)), EXSUCCEED);
0225 len = sizeof(test_val);
0226 assert_equal(Badd(p_ub, T_CHAR_FLD, (char *)&test_char, len), EXSUCCEED);
0227
0228
0229
0230 len=sizeof(test_short);
0231 assert_equal(CBget(p_ub, T_CHAR_FLD, 0, (char *)&test_short, &len, BFLD_SHORT), EXSUCCEED);
0232 assert_equal(test_short, 114);
0233 assert_equal(len, sizeof(test_short));
0234
0235
0236 len=sizeof(test_long);
0237 assert_equal(CBget(p_ub, T_CHAR_FLD, 0, (char *)&test_long, &len, BFLD_LONG), EXSUCCEED);
0238 assert_equal(test_long, 114);
0239 assert_equal(len, sizeof(test_long));
0240
0241
0242 len=sizeof(test_char);
0243 assert_equal(CBget(p_ub, T_CHAR_FLD, 0, (char *)&test_char, &len, BFLD_CHAR), EXSUCCEED);
0244 assert_equal(test_char, 'r');
0245 assert_equal(len, sizeof(test_char));
0246
0247
0248 len=sizeof(test_float);
0249 assert_equal(CBget(p_ub, T_CHAR_FLD, 0, (char *)&test_float, &len, BFLD_FLOAT), EXSUCCEED);
0250 assert_equal(test_float, 114);
0251 assert_equal(len, sizeof(test_float));
0252
0253
0254 len=sizeof(test_double);
0255 assert_equal(CBget(p_ub, T_CHAR_FLD, 0, (char *)&test_double, &len, BFLD_DOUBLE), EXSUCCEED);
0256 assert_equal(test_float, 114);
0257 assert_equal(len, sizeof(test_double));
0258
0259
0260 len=sizeof(test_string);
0261 assert_equal(CBget(p_ub, T_CHAR_FLD, 0, (char *)test_string, &len, BFLD_STRING), EXSUCCEED);
0262 assert_string_equal(test_string, "r");
0263 assert_equal(len, 2);
0264
0265
0266 len=sizeof(test_string);
0267 assert_equal(CBget(p_ub, T_CHAR_FLD, 0, (char *)test_carray, &len, BFLD_CARRAY), EXSUCCEED);
0268 assert_equal(strncmp(test_carray, "r", 1), 0);
0269 assert_equal(len, 1);
0270
0271
0272
0273 assert_equal(CBget(p_ub, T_CHAR_FLD, 0, (char *)&ptr, 0, BFLD_PTR), EXSUCCEED);
0274 assert_equal((long)ptr, 114);
0275
0276 v.data = tmp;
0277 assert_equal(CBget(p_ub, T_CHAR_FLD, 0, (char *)&v, 0, BFLD_VIEW), EXFAIL);
0278 assert_equal(Berror, BEBADOP);
0279
0280 assert_equal(CBget(p_ub, T_CHAR_FLD, 0, (char *)p_tmp_ub, 0, BFLD_UBF), EXFAIL);
0281 assert_equal(Berror, BEBADOP);
0282
0283 }
0284
0285
0286
0287
0288 Ensure(test_CBget_float_org)
0289 {
0290 char buf[640];
0291 UBFH *p_ub = (UBFH *)buf;
0292 long test_val=0;
0293 int len = 0;
0294
0295 short test_short = 0;
0296 long test_long = 0;
0297 unsigned char test_char = 0;
0298 float test_float = 16822.5;
0299 double test_double = 0.0;
0300 char test_string[128];
0301 char test_carray[128];
0302
0303 char tmp[1024];
0304 char *ptr;
0305 BVIEWFLD v;
0306 UBFH *p_tmp_ub = (UBFH *)tmp;
0307
0308
0309 assert_equal(Binit(p_ub, sizeof(buf)), EXSUCCEED);
0310 len = sizeof(test_float);
0311 assert_equal(Badd(p_ub, T_FLOAT_FLD, (char *)&test_float, len), EXSUCCEED);
0312
0313
0314
0315 len=sizeof(test_short);
0316 assert_equal(CBget(p_ub, T_FLOAT_FLD, 0, (char *)&test_short, &len, BFLD_SHORT), EXSUCCEED);
0317 assert_equal(test_short, 16822);
0318 assert_equal(len, sizeof(test_short));
0319
0320
0321 len=sizeof(test_long);
0322 assert_equal(CBget(p_ub, T_FLOAT_FLD, 0, (char *)&test_long, &len, BFLD_LONG), EXSUCCEED);
0323 assert_equal(test_long, 16822);
0324 assert_equal(len, sizeof(test_long));
0325
0326
0327
0328 len = sizeof(test_float);
0329 test_float = 168.5;
0330 assert_equal(Bchg(p_ub, T_FLOAT_FLD, 0, (char *)&test_float, len), EXSUCCEED);
0331 len=sizeof(test_char);
0332 assert_equal(CBget(p_ub, T_FLOAT_FLD, 0, (char *)&test_char, &len, BFLD_CHAR), EXSUCCEED);
0333 assert_equal(test_char, 168);
0334 assert_equal(len, sizeof(test_char));
0335
0336
0337
0338 len = sizeof(test_float);
0339 test_float = 16822.5;
0340 assert_equal(Bchg(p_ub, T_FLOAT_FLD, 0, (char *)&test_float, len), EXSUCCEED);
0341
0342 len=sizeof(test_float);
0343 assert_equal(CBget(p_ub, T_FLOAT_FLD, 0, (char *)&test_float, &len, BFLD_FLOAT), EXSUCCEED);
0344 assert_equal(test_float, 16822.5);
0345 assert_equal(len, sizeof(test_float));
0346
0347
0348 len=sizeof(test_double);
0349 assert_equal(CBget(p_ub, T_FLOAT_FLD, 0, (char *)&test_double, &len, BFLD_DOUBLE), EXSUCCEED);
0350 assert_equal(test_float, 16822.5);
0351 assert_equal(len, sizeof(test_double));
0352
0353
0354 len=sizeof(test_string);
0355 assert_equal(CBget(p_ub, T_FLOAT_FLD, 0, (char *)test_string, &len, BFLD_STRING), EXSUCCEED);
0356 assert_string_equal(test_string, "16822.50000");
0357 assert_equal(len, 12);
0358
0359
0360 len=sizeof(test_string);
0361 assert_equal(CBget(p_ub, T_FLOAT_FLD, 0, (char *)test_carray, &len, BFLD_CARRAY), EXSUCCEED);
0362 assert_equal(strncmp(test_carray, "16822.50000", 10), 0);
0363 assert_equal(len, 11);
0364
0365
0366 assert_equal(CBget(p_ub, T_FLOAT_FLD, 0, (char *)&ptr, 0, BFLD_PTR), EXSUCCEED);
0367 assert_equal((long)ptr, 16822);
0368
0369 v.data = tmp;
0370 assert_equal(CBget(p_ub, T_FLOAT_FLD, 0, (char *)&v, 0, BFLD_VIEW), EXFAIL);
0371 assert_equal(Berror, BEBADOP);
0372
0373 assert_equal(CBget(p_ub, T_FLOAT_FLD, 0, (char *)p_tmp_ub, 0, BFLD_UBF), EXFAIL);
0374 assert_equal(Berror, BEBADOP);
0375
0376 }
0377
0378
0379
0380
0381 Ensure(test_CBget_double_org)
0382 {
0383 char buf[640];
0384 UBFH *p_ub = (UBFH *)buf;
0385 int len = 0;
0386
0387 short test_short = 0;
0388 long test_long = 0;
0389 unsigned char test_char = 0;
0390 float test_float = 0.0;
0391 double test_double = 16822.5;
0392 char test_string[128];
0393 char test_carray[128];
0394 char tmp[1024];
0395 char *ptr;
0396 BVIEWFLD v;
0397 UBFH *p_tmp_ub = (UBFH *)tmp;
0398
0399
0400 assert_equal(Binit(p_ub, sizeof(buf)), EXSUCCEED);
0401 len = sizeof(test_double);
0402 assert_equal(Badd(p_ub, T_DOUBLE_FLD, (char *)&test_double, len), EXSUCCEED);
0403
0404
0405
0406 len=sizeof(test_short);
0407 assert_equal(CBget(p_ub, T_DOUBLE_FLD, 0, (char *)&test_short, &len, BFLD_SHORT), EXSUCCEED);
0408 assert_equal(test_short, 16822);
0409 assert_equal(len, sizeof(test_short));
0410
0411
0412 len=sizeof(test_long);
0413 assert_equal(CBget(p_ub, T_DOUBLE_FLD, 0, (char *)&test_long, &len, BFLD_LONG), EXSUCCEED);
0414 assert_equal(test_long, 16822);
0415 assert_equal(len, sizeof(test_long));
0416
0417
0418 len = sizeof(test_double);
0419 test_double = 168.5;
0420 assert_equal(Bchg(p_ub, T_DOUBLE_FLD, 0, (char *)&test_double, len), EXSUCCEED);
0421
0422 len=sizeof(test_char);
0423 assert_equal(CBget(p_ub, T_DOUBLE_FLD, 0, (char *)&test_char, &len, BFLD_CHAR), EXSUCCEED);
0424 assert_equal(test_char, 168);
0425 assert_equal(len, sizeof(test_char));
0426
0427
0428
0429 test_double = 16822.5;
0430 len = sizeof(test_double);
0431 assert_equal(Bchg(p_ub, T_DOUBLE_FLD, 0, (char *)&test_double, len), EXSUCCEED);
0432
0433 len=sizeof(test_float);
0434 assert_equal(CBget(p_ub, T_DOUBLE_FLD, 0, (char *)&test_float, &len, BFLD_FLOAT), EXSUCCEED);
0435 assert_equal(test_float, 16822.5);
0436 assert_equal(len, sizeof(test_float));
0437
0438
0439 len=sizeof(test_double);
0440 assert_equal(CBget(p_ub, T_DOUBLE_FLD, 0, (char *)&test_double, &len, BFLD_DOUBLE), EXSUCCEED);
0441 assert_equal(test_float, 16822.5);
0442 assert_equal(len, sizeof(test_double));
0443
0444
0445 len=sizeof(test_string);
0446 assert_equal(CBget(p_ub, T_DOUBLE_FLD, 0, (char *)test_string, &len, BFLD_STRING), EXSUCCEED);
0447 assert_string_equal(test_string, "16822.500000");
0448 assert_equal(len, 13);
0449
0450
0451 len=sizeof(test_string);
0452 assert_equal(CBget(p_ub, T_DOUBLE_FLD, 0, (char *)test_carray, &len, BFLD_CARRAY), EXSUCCEED);
0453 assert_equal(strncmp(test_carray, "16822.500000", 10), 0);
0454 assert_equal(len, 12);
0455
0456
0457 assert_equal(CBget(p_ub, T_DOUBLE_FLD, 0, (char *)&ptr, 0, BFLD_PTR), EXSUCCEED);
0458 assert_equal((long)ptr, 16822);
0459
0460 v.data = tmp;
0461 assert_equal(CBget(p_ub, T_DOUBLE_FLD, 0, (char *)&v, 0, BFLD_VIEW), EXFAIL);
0462 assert_equal(Berror, BEBADOP);
0463
0464 assert_equal(CBget(p_ub, T_DOUBLE_FLD, 0, (char *)p_tmp_ub, 0, BFLD_UBF), EXFAIL);
0465 assert_equal(Berror, BEBADOP);
0466
0467 }
0468
0469
0470
0471 Ensure(test_CBget_string_org)
0472 {
0473 char buf[2048];
0474 UBFH *p_ub = (UBFH *)buf;
0475 int len = 0;
0476
0477 short test_short = 0;
0478 long test_long = 0;
0479 unsigned char test_char = 0;
0480 float test_float = 0.0;
0481 double test_double = 16822.5;
0482 char test_string[1024];
0483 char test_carray[1024];
0484 char tmp[1024];
0485 char *ptr;
0486 BVIEWFLD v;
0487 UBFH *p_tmp_ub = (UBFH *)tmp;
0488
0489
0490 assert_equal(Binit(p_ub, sizeof(buf)), EXSUCCEED);
0491
0492 assert_equal(Badd(p_ub, T_STRING_FLD, "16822.5000000000000", 1), EXSUCCEED);
0493
0494
0495
0496 len=sizeof(test_short);
0497 assert_equal(CBget(p_ub, T_STRING_FLD, 0, (char *)&test_short, &len, BFLD_SHORT), EXSUCCEED);
0498 assert_equal(test_short, 16822);
0499 assert_equal(len, sizeof(test_short));
0500
0501
0502 len=sizeof(test_long);
0503 assert_equal(CBget(p_ub, T_STRING_FLD, 0, (char *)&test_long, &len, BFLD_LONG), EXSUCCEED);
0504 assert_equal(test_long, 16822);
0505 assert_equal(len, sizeof(test_long));
0506
0507
0508 len=sizeof(test_char);
0509 assert_equal(CBget(p_ub, T_STRING_FLD, 0, (char *)&test_char, &len, BFLD_CHAR), EXSUCCEED);
0510 assert_equal(test_char, '1');
0511 assert_equal(len, sizeof(test_char));
0512
0513
0514 len=sizeof(test_float);
0515 assert_equal(CBget(p_ub, T_STRING_FLD, 0, (char *)&test_float, &len, BFLD_FLOAT), EXSUCCEED);
0516 assert_equal(test_float, 16822.5);
0517 assert_equal(len, sizeof(test_float));
0518
0519
0520 len=sizeof(test_double);
0521 assert_equal(CBget(p_ub, T_STRING_FLD, 0, (char *)&test_double, &len, BFLD_DOUBLE), EXSUCCEED);
0522 assert_equal(test_float, 16822.5);
0523 assert_equal(len, sizeof(test_double));
0524
0525
0526 len=sizeof(test_string);
0527 assert_equal(CBget(p_ub, T_STRING_FLD, 0, (char *)test_string, &len, BFLD_STRING), EXSUCCEED);
0528 assert_string_equal(test_string, "16822.5000000000000");
0529 assert_equal(len, 20);
0530
0531
0532 len=sizeof(test_string);
0533 assert_equal(CBget(p_ub, T_STRING_FLD, 0, (char *)test_carray, &len, BFLD_CARRAY), EXSUCCEED);
0534 assert_equal(strncmp(test_carray, "16822.5000000000000", 17), 0);
0535 assert_equal(len, 19);
0536
0537
0538 assert_equal(Bchg(p_ub, T_STRING_FLD, 0, BIG_TEST_STRING, 0), EXSUCCEED);
0539 len=sizeof(test_carray);
0540 assert_equal(CBget(p_ub, T_STRING_FLD, 0, (char *)test_carray, &len, BFLD_CARRAY), EXSUCCEED);
0541 assert_equal(strncmp(test_carray, BIG_TEST_STRING, strlen(BIG_TEST_STRING)), 0);
0542 assert_equal(len, strlen(BIG_TEST_STRING));
0543
0544
0545
0546 assert_equal(Bchg(p_ub, T_STRING_FLD, 0, "0xFFAABB", 0L), EXSUCCEED);
0547 assert_equal(CBget(p_ub, T_STRING_FLD, 0, (char *)&ptr, 0, BFLD_PTR), EXSUCCEED);
0548 assert_equal((long)ptr, 0xFFAABB);
0549
0550 v.data = tmp;
0551 assert_equal(CBget(p_ub, T_STRING_FLD, 0, (char *)&v, 0, BFLD_VIEW), EXFAIL);
0552 assert_equal(Berror, BEBADOP);
0553
0554 assert_equal(CBget(p_ub, T_STRING_FLD, 0, (char *)p_tmp_ub, 0, BFLD_UBF), EXFAIL);
0555 assert_equal(Berror, BEBADOP);
0556
0557 }
0558
0559
0560
0561
0562 Ensure(test_CBget_carray_org)
0563 {
0564 char buf[2048];
0565 UBFH *p_ub = (UBFH *)buf;
0566 int len = 0;
0567
0568 short test_short = 0;
0569 long test_long = 0;
0570 unsigned char test_char = 0;
0571 float test_float = 0.0;
0572 double test_double = 16822.5;
0573 char test_string[1024];
0574 char test_carray[1024];
0575 char test_data_str [] = "16822.5000000000000";
0576
0577 char tmp[1024];
0578 char *ptr;
0579 BVIEWFLD v;
0580 UBFH *p_tmp_ub = (UBFH *)tmp;
0581
0582
0583 assert_equal(Binit(p_ub, sizeof(buf)), EXSUCCEED);
0584 len = strlen(test_data_str);
0585 assert_equal(Badd(p_ub, T_CARRAY_FLD, test_data_str, len), EXSUCCEED);
0586
0587
0588
0589 len=sizeof(test_short);
0590 assert_equal(CBget(p_ub, T_CARRAY_FLD, 0, (char *)&test_short, &len, BFLD_SHORT), EXSUCCEED);
0591 assert_equal(test_short, 16822);
0592 assert_equal(len, sizeof(test_short));
0593
0594
0595 len=sizeof(test_long);
0596 assert_equal(CBget(p_ub, T_CARRAY_FLD, 0, (char *)&test_long, &len, BFLD_LONG), EXSUCCEED);
0597 assert_equal(test_long, 16822);
0598 assert_equal(len, sizeof(test_long));
0599
0600
0601 len=sizeof(test_char);
0602 assert_equal(CBget(p_ub, T_CARRAY_FLD, 0, (char *)&test_char, &len, BFLD_CHAR), EXSUCCEED);
0603 assert_equal(test_char, '1');
0604 assert_equal(len, sizeof(test_char));
0605
0606
0607 len=sizeof(test_float);
0608 assert_equal(CBget(p_ub, T_CARRAY_FLD, 0, (char *)&test_float, &len, BFLD_FLOAT), EXSUCCEED);
0609 assert_equal(test_float, 16822.5);
0610 assert_equal(len, sizeof(test_float));
0611
0612
0613 len=sizeof(test_double);
0614 assert_equal(CBget(p_ub, T_CARRAY_FLD, 0, (char *)&test_double, &len, BFLD_DOUBLE), EXSUCCEED);
0615 assert_equal(test_float, 16822.5);
0616 assert_equal(len, sizeof(test_double));
0617
0618
0619 len=sizeof(test_string);
0620 assert_equal(CBget(p_ub, T_CARRAY_FLD, 0, (char *)test_string, &len, BFLD_STRING), EXSUCCEED);
0621 assert_string_equal(test_string, test_data_str);
0622 assert_equal(len, 20);
0623
0624
0625 len=sizeof(test_string);
0626 assert_equal(CBget(p_ub, T_CARRAY_FLD, 0, (char *)test_carray, &len, BFLD_CARRAY), EXSUCCEED);
0627 assert_equal(strncmp(test_carray, test_data_str, 17), 0);
0628 assert_equal(len, 19);
0629
0630
0631 len = strlen(BIG_TEST_STRING);
0632 assert_equal(Bchg(p_ub, T_CARRAY_FLD, 0, BIG_TEST_STRING, len), EXSUCCEED);
0633 len=sizeof(test_string);
0634 memset(test_string, 0xff, sizeof(test_string));
0635 assert_equal(CBget(p_ub, T_CARRAY_FLD, 0, (char *)test_string, &len, BFLD_STRING), EXSUCCEED);
0636 assert_equal(strncmp(test_string, BIG_TEST_STRING, strlen(BIG_TEST_STRING)), 0);
0637 assert_equal(len, strlen(BIG_TEST_STRING)+1);
0638 assert_equal(strlen(test_string), strlen(BIG_TEST_STRING));
0639
0640
0641
0642 assert_equal(CBchg(p_ub, T_CARRAY_FLD, 0, "0xFFAABB", 0L, BFLD_STRING), EXSUCCEED);
0643 assert_equal(CBget(p_ub, T_CARRAY_FLD, 0, (char *)&ptr, 0, BFLD_PTR), EXSUCCEED);
0644 assert_equal((long)ptr, 0xFFAABB);
0645
0646 v.data = tmp;
0647 assert_equal(CBget(p_ub, T_CARRAY_FLD, 0, (char *)&v, 0, BFLD_VIEW), EXFAIL);
0648 assert_equal(Berror, BEBADOP);
0649
0650 assert_equal(CBget(p_ub, T_CARRAY_FLD, 0, (char *)p_tmp_ub, 0, BFLD_UBF), EXFAIL);
0651 assert_equal(Berror, BEBADOP);
0652
0653 }
0654
0655 Ensure(test_CBget_view_org)
0656 {
0657 char buf[2048];
0658 UBFH *p_ub = (UBFH *)buf;
0659 char tmp[1024];
0660 BVIEWFLD vf;
0661 struct UBTESTVIEW2 v;
0662
0663 memset(&v, 0, sizeof(v));
0664
0665 vf.data=(char *)&v;
0666 vf.vflags=0;
0667 NDRX_STRCPY_SAFE(vf.vname, "UBTESTVIEW2");
0668
0669
0670 assert_equal(Binit(p_ub, sizeof(buf)), EXSUCCEED);
0671 assert_equal(Badd(p_ub, T_VIEW_FLD, (char *)&vf, 0), EXSUCCEED);
0672
0673 assert_equal(CBget(p_ub, T_VIEW_FLD, 0, (char *)tmp, 0, BFLD_SHORT), EXFAIL);
0674 assert_equal(Berror, BEBADOP);
0675
0676 assert_equal(CBget(p_ub, T_VIEW_FLD, 0, (char *)tmp, 0, BFLD_LONG), EXFAIL);
0677 assert_equal(Berror, BEBADOP);
0678
0679 assert_equal(CBget(p_ub, T_VIEW_FLD, 0, (char *)tmp, 0, BFLD_CHAR), EXFAIL);
0680 assert_equal(Berror, BEBADOP);
0681
0682 assert_equal(CBget(p_ub, T_VIEW_FLD, 0, (char *)tmp, 0, BFLD_FLOAT), EXFAIL);
0683 assert_equal(Berror, BEBADOP);
0684
0685 assert_equal(CBget(p_ub, T_VIEW_FLD, 0, (char *)tmp, 0, BFLD_DOUBLE), EXFAIL);
0686 assert_equal(Berror, BEBADOP);
0687
0688 assert_equal(CBget(p_ub, T_VIEW_FLD, 0, (char *)tmp, 0, BFLD_STRING), EXFAIL);
0689 assert_equal(Berror, BEBADOP);
0690
0691 assert_equal(CBget(p_ub, T_VIEW_FLD, 0, (char *)tmp, 0, BFLD_CARRAY), EXFAIL);
0692 assert_equal(Berror, BEBADOP);
0693
0694 assert_equal(CBget(p_ub, T_VIEW_FLD, 0, (char *)tmp, 0, BFLD_PTR), EXFAIL);
0695 assert_equal(Berror, BEBADOP);
0696
0697 assert_equal(CBget(p_ub, T_VIEW_FLD, 0, (char *)tmp, 0, BFLD_UBF), EXFAIL);
0698 assert_equal(Berror, BEBADOP);
0699
0700 }
0701
0702 Ensure(test_CBget_ubf_org)
0703 {
0704 char buf[2048];
0705 UBFH *p_ub = (UBFH *)buf;
0706 char tmp[1024];
0707 UBFH *p_tmp_ub = (UBFH *)tmp;
0708
0709
0710
0711
0712 assert_equal(Binit(p_ub, sizeof(buf)), EXSUCCEED);
0713
0714 memset(tmp, 1, sizeof(tmp));
0715 assert_equal(Badd(p_ub, T_UBF_FLD, (char *)tmp, 0), EXFAIL);
0716 assert_equal(Berror, BNOTFLD);
0717
0718 assert_equal(Binit(p_tmp_ub, sizeof(tmp)), EXSUCCEED);
0719 assert_equal(Badd(p_tmp_ub, T_STRING_FLD, "HELLO", 0), EXSUCCEED);
0720 assert_equal(Badd(p_ub, T_UBF_FLD, (char *)p_ub, 0), EXSUCCEED);
0721
0722 assert_equal(CBget(p_ub, T_UBF_FLD, 0, (char *)tmp, 0, BFLD_SHORT), EXFAIL);
0723 assert_equal(Berror, BEBADOP);
0724
0725 assert_equal(CBget(p_ub, T_UBF_FLD, 0, (char *)tmp, 0, BFLD_LONG), EXFAIL);
0726 assert_equal(Berror, BEBADOP);
0727
0728 assert_equal(CBget(p_ub, T_UBF_FLD, 0, (char *)tmp, 0, BFLD_CHAR), EXFAIL);
0729 assert_equal(Berror, BEBADOP);
0730
0731 assert_equal(CBget(p_ub, T_UBF_FLD, 0, (char *)tmp, 0, BFLD_FLOAT), EXFAIL);
0732 assert_equal(Berror, BEBADOP);
0733
0734 assert_equal(CBget(p_ub, T_UBF_FLD, 0, (char *)tmp, 0, BFLD_DOUBLE), EXFAIL);
0735 assert_equal(Berror, BEBADOP);
0736
0737 assert_equal(CBget(p_ub, T_UBF_FLD, 0, (char *)tmp, 0, BFLD_STRING), EXFAIL);
0738 assert_equal(Berror, BEBADOP);
0739
0740 assert_equal(CBget(p_ub, T_UBF_FLD, 0, (char *)tmp, 0, BFLD_CARRAY), EXFAIL);
0741 assert_equal(Berror, BEBADOP);
0742
0743 assert_equal(CBget(p_ub, T_UBF_FLD, 0, (char *)tmp, 0, BFLD_PTR), EXFAIL);
0744 assert_equal(Berror, BEBADOP);
0745
0746 assert_equal(CBget(p_ub, T_UBF_FLD, 0, (char *)tmp, 0, BFLD_VIEW), EXFAIL);
0747 assert_equal(Berror, BEBADOP);
0748
0749 }
0750
0751 Ensure(test_CBget_ptr_org)
0752 {
0753 char buf[640];
0754 UBFH *p_ub = (UBFH *)buf;
0755 long test_val=456412;
0756 int len = 0;
0757 char *small_val=(char *)44;
0758
0759 short test_short = 0;
0760 long test_long = 0;
0761 char test_char = 0;
0762 float test_float = 0.0;
0763 double test_double = 0.0;
0764 char test_string[128];
0765 char test_carray[128];
0766 char tmp[1024];
0767 char *ptr;
0768 BVIEWFLD v;
0769 UBFH *p_tmp_ub = (UBFH *)tmp;
0770
0771
0772 assert_equal(Binit(p_ub, sizeof(buf)), EXSUCCEED);
0773 len = sizeof(test_val);
0774 assert_equal(Badd(p_ub, T_PTR_FLD, (char *)&small_val, len), EXSUCCEED);
0775
0776
0777
0778 len=sizeof(test_short);
0779 assert_equal(CBget(p_ub, T_PTR_FLD, 0, (char *)&test_short, &len, BFLD_SHORT), EXSUCCEED);
0780 assert_equal(test_short, 44);
0781 assert_equal(len, sizeof(test_short));
0782
0783 len=sizeof(test_char);
0784 assert_equal(CBget(p_ub, T_PTR_FLD, 0, (char *)&test_char, &len, BFLD_CHAR), EXSUCCEED);
0785 assert_equal(test_char, 44);
0786
0787
0788 len=sizeof(test_long);
0789 assert_equal(CBget(p_ub, T_PTR_FLD, 0, (char *)&test_long, &len, BFLD_LONG), EXSUCCEED);
0790 assert_equal(test_long, 44);
0791 assert_equal(len, sizeof(test_long));
0792
0793 len=sizeof(test_float);
0794 assert_equal(CBget(p_ub, T_PTR_FLD, 0, (char *)&test_float, &len, BFLD_FLOAT), EXSUCCEED);
0795 assert_equal(test_float, 44);
0796 assert_equal(len, sizeof(test_float));
0797
0798 len=sizeof(test_double);
0799 assert_equal(CBget(p_ub, T_PTR_FLD, 0, (char *)&test_double, &len, BFLD_DOUBLE), EXSUCCEED);
0800 assert_equal(test_float, 44);
0801 assert_equal(len, sizeof(test_double));
0802
0803 len=sizeof(test_string);
0804 assert_equal(CBget(p_ub, T_PTR_FLD, 0, (char *)test_string, &len, BFLD_STRING), EXSUCCEED);
0805 assert_string_equal(test_string, "0x2c");
0806 assert_equal(len, 5);
0807
0808 len=sizeof(test_string);
0809 assert_equal(CBget(p_ub, T_PTR_FLD, 0, (char *)test_carray, &len, BFLD_CARRAY), EXSUCCEED);
0810 assert_equal(strncmp(test_carray, "0x2c", 4), 0);
0811 assert_equal(len, 4);
0812
0813
0814 assert_equal(CBget(p_ub, T_PTR_FLD, 0, (char *)&ptr, 0, BFLD_PTR), EXSUCCEED);
0815 assert_equal((long)ptr, 44);
0816
0817 v.data = tmp;
0818 assert_equal(CBget(p_ub, T_PTR_FLD, 0, (char *)&v, 0, BFLD_VIEW), EXFAIL);
0819 assert_equal(Berror, BEBADOP);
0820
0821 assert_equal(CBget(p_ub, T_PTR_FLD, 0, (char *)p_tmp_ub, 0, BFLD_UBF), EXFAIL);
0822 assert_equal(Berror, BEBADOP);
0823 }
0824
0825 TestSuite *ubf_cfget_tests(void)
0826 {
0827 TestSuite *suite = create_test_suite();
0828
0829 std_basic_setup();
0830
0831 add_test(suite, test_CBget_short_org);
0832 add_test(suite, test_CBget_long_org);
0833 add_test(suite, test_CBget_char_org);
0834 add_test(suite, test_CBget_float_org);
0835 add_test(suite, test_CBget_double_org);
0836 add_test(suite, test_CBget_string_org);
0837 add_test(suite, test_CBget_carray_org);
0838 add_test(suite, test_CBget_view_org);
0839 add_test(suite, test_CBget_ubf_org);
0840 add_test(suite, test_CBget_ptr_org);
0841
0842
0843
0844 return suite;
0845 }
0846
0847