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
0035 #include <stdio.h>
0036 #include <stdlib.h>
0037 #include <unistd.h>
0038 #include <cgreen/cgreen.h>
0039 #include <ubf.h>
0040 #include <ndrstandard.h>
0041 #include <string.h>
0042 #include "test.fd.h"
0043 #include "ndebug.h"
0044 #include <fdatatype.h>
0045
0046 #include "test040.h"
0047
0048
0049
0050
0051 exprivate void basic_setup(void)
0052 {
0053
0054 }
0055
0056 exprivate void basic_teardown(void)
0057 {
0058
0059 }
0060
0061
0062
0063
0064 Ensure(test_Bvchg_short)
0065 {
0066 struct MYVIEW1 v;
0067 short s;
0068 BFLDOCC maxocc;
0069 BFLDOCC realocc;
0070 long dim_size;
0071
0072 memset(&v, 0, sizeof(v));
0073
0074 s = 15556;
0075 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort1", 0, (char *)&s, 0L, BFLD_SHORT),
0076 EXSUCCEED);
0077 assert_equal(s, v.tshort1);
0078
0079
0080 s = 0;
0081 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort1", 1, (char *)&s, 0L, BFLD_SHORT),
0082 EXFAIL);
0083 assert_equal(Berror, BEINVAL);
0084
0085 s = 9999;
0086 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort2", 0, (char *)&s, 0L, BFLD_SHORT),
0087 EXSUCCEED);
0088 assert_equal(v.tshort2[0], 9999);
0089
0090 s = 8888;
0091 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort2", 1, (char *)&s, 0L, BFLD_SHORT),
0092 EXSUCCEED);
0093 assert_equal(v.tshort2[1], 8888);
0094
0095
0096 assert_equal(Bvoccur((char *)&v, "MYVIEW1", "tshort3", &maxocc, &realocc, &dim_size, NULL), 0);
0097 assert_equal(maxocc, 3);
0098 assert_equal(realocc, 0);
0099
0100 s = 7777;
0101 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort3", 0, (char *)&s, 0L, BFLD_SHORT),
0102 EXSUCCEED);
0103 assert_equal(v.tshort3[0], 7777);
0104
0105
0106 assert_equal(Bvoccur((char *)&v, "MYVIEW1", "tshort3", &maxocc, &realocc, &dim_size, NULL), 1);
0107 assert_equal(maxocc, 3);
0108 assert_equal(realocc, 1);
0109
0110 s = -7777;
0111 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort3", 1, (char *)&s, 0L, BFLD_SHORT),
0112 EXSUCCEED);
0113 assert_equal(v.tshort3[1], -7777);
0114
0115
0116
0117 assert_equal(Bvoccur((char *)&v, "MYVIEW1", "tshort3", &maxocc, &realocc, &dim_size, NULL), 2);
0118 assert_equal(maxocc, 3);
0119 assert_equal(realocc, 2);
0120
0121
0122 s = -7777;
0123 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort3", 2, (char *)&s, 0L, BFLD_SHORT),
0124 EXSUCCEED);
0125 assert_equal(v.tshort3[2], -7777);
0126
0127
0128 assert_equal(Bvoccur((char *)&v, "MYVIEW1", "tshort3", &maxocc, &realocc, &dim_size, NULL), 3);
0129 assert_equal(maxocc, 3);
0130 assert_equal(realocc, 3);
0131
0132 assert_equal(v.C_tshort3, 3);
0133
0134
0135
0136 s = 0;
0137 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort3", 0, (char *)&s, 0L, BFLD_SHORT),
0138 EXSUCCEED);
0139 assert_equal(v.tshort3[0], 0);
0140
0141 s = 0;
0142 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort3", 1, (char *)&s, 0L, BFLD_SHORT),
0143 EXSUCCEED);
0144 assert_equal(v.tshort3[1], 0);
0145
0146 assert_equal(Bvoccur((char *)&v, "MYVIEW1", "tshort3", &maxocc, &realocc, &dim_size, NULL), 3);
0147 assert_equal(maxocc, 3);
0148 assert_equal(realocc, 3);
0149
0150 s = 0;
0151 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort3", 2, (char *)&s, 0L, BFLD_SHORT),
0152 EXSUCCEED);
0153 assert_equal(v.tshort3[2], 0);
0154
0155 assert_equal(Bvoccur((char *)&v, "MYVIEW1", "tshort3", &maxocc, &realocc, &dim_size, NULL), 3);
0156 assert_equal(maxocc, 3);
0157 assert_equal(realocc, 0);
0158
0159 s = -10;
0160 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort4", 0, (char *)&s, 0L, BFLD_SHORT),
0161 EXSUCCEED);
0162 assert_equal(v.tshort4, -10);
0163
0164
0165 s = 255;
0166 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tlong1", 0, (char *)&s, 0L, BFLD_SHORT),
0167 EXSUCCEED);
0168 assert_equal(v.tlong1, 255);
0169
0170 s = -100;
0171 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint3", 0, (char *)&s, 0L, BFLD_SHORT),
0172 EXSUCCEED);
0173 assert_equal(v.tint3, -100);
0174
0175
0176 s = 0;
0177 assert_equal(CBvchg((char *)&v, "MYVIEW1", "xint3", 0, (char *)&s, 0L, BFLD_SHORT),
0178 EXFAIL);
0179 assert_equal(Berror, BNOCNAME);
0180
0181
0182 s = -1;
0183 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint4", 0, (char *)&s, 0L, BFLD_SHORT),
0184 EXSUCCEED);
0185 assert_equal(v.tint4[0], -1);
0186
0187 s = -1;
0188 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint4", 1, (char *)&s, 0L, BFLD_SHORT),
0189 EXSUCCEED);
0190 assert_equal(v.tint4[1], -1);
0191
0192 assert_equal(Bvoccur((char *)&v, "MYVIEW1", "tint4", &maxocc, &realocc, &dim_size, NULL), 2);
0193 assert_equal(maxocc, 2);
0194 assert_equal(realocc, 0);
0195
0196
0197 s = 65;
0198 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tchar1", 0, (char *)&s, 0L,
0199 BFLD_SHORT),
0200 EXSUCCEED);
0201 assert_equal(v.tchar1, 65);
0202
0203 s = 'D';
0204 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tchar3", 1, (char *)&s, 0L,
0205 BFLD_SHORT),
0206 EXSUCCEED);
0207 assert_equal(v.tchar3[1], 'D');
0208
0209
0210 s = 66;
0211 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tfloat1", 1, (char *)&s, 0L,
0212 BFLD_SHORT),
0213 EXSUCCEED);
0214 assert_double_equal(v.tfloat1[1], 66);
0215
0216
0217 s = -999;
0218 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tdouble2", 0, (char *)&s, 0L,
0219 BFLD_SHORT),
0220 EXSUCCEED);
0221 assert_double_equal(v.tdouble2,-999);
0222
0223
0224 s = 125;
0225 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tstring0", 0, (char *)&s, 0L,
0226 BFLD_SHORT),
0227 EXSUCCEED);
0228 assert_string_equal(v.tstring0[0], "125");
0229
0230
0231 s = 6500;
0232 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tstring2", 1, (char *)&s, 0L,
0233 BFLD_SHORT),
0234 EXSUCCEED);
0235 assert_string_equal(v.tstring2[1], "6500");
0236 assert_equal(v.L_tstring2[1], 5);
0237
0238 s=521;
0239 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tcarray2", 0, (char *)&s, 0L,
0240 BFLD_SHORT),
0241 EXSUCCEED);
0242 v.tcarray2[3] = EXEOS;
0243 assert_string_equal(v.tcarray2, "521");
0244 assert_equal(v.L_tcarray2, 3);
0245
0246 }
0247
0248
0249
0250
0251 Ensure(test_Bvchg_long)
0252 {
0253 struct MYVIEW1 v;
0254 long l;
0255
0256 memset(&v, 0, sizeof(v));
0257
0258 l = 15556;
0259 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort1", 0, (char *)&l, 0L, BFLD_LONG),
0260 EXSUCCEED);
0261 assert_equal(v.tshort1, 15556);
0262
0263
0264 l = 0;
0265 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort1", 1, (char *)&l, 0L, BFLD_LONG),
0266 EXFAIL);
0267 assert_equal(Berror, BEINVAL);
0268
0269 l = 9999;
0270 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort2", 0, (char *)&l, 0L, BFLD_LONG),
0271 EXSUCCEED);
0272 assert_equal(v.tshort2[0], 9999);
0273
0274 l = 8888;
0275 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort2", 1, (char *)&l, 0L, BFLD_LONG),
0276 EXSUCCEED);
0277 assert_equal(v.tshort2[1], 8888);
0278
0279 l = 7777;
0280 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort3", 0, (char *)&l, 0L, BFLD_LONG),
0281 EXSUCCEED);
0282 assert_equal(v.tshort3[0], 7777);
0283
0284
0285 l = 33333333;
0286 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tlong1", 0, (char *)&l, 0L, BFLD_LONG),
0287 EXSUCCEED);
0288 assert_equal(v.tlong1, 33333333);
0289
0290 l = -100;
0291 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint3", 0, (char *)&l, 0L, BFLD_LONG),
0292 EXSUCCEED);
0293 l = 1010101;
0294 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint4", 0, (char *)&l, 0L, BFLD_LONG),
0295 EXSUCCEED);
0296 assert_equal(v.tint3, -100);
0297 assert_equal(v.tint4[0], 1010101);
0298
0299 l = 989898;
0300 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint4", 1, (char *)&l, 0L, BFLD_LONG),
0301 EXSUCCEED);
0302 assert_equal(v.tint4[1], 989898);
0303
0304
0305 l = 0;
0306 assert_equal(CBvchg((char *)&v, "MYVIEW1", "xint3", 0, (char *)&l, 0L, BFLD_LONG),
0307 EXFAIL);
0308 assert_equal(Berror, BNOCNAME);
0309
0310
0311
0312 l = 65;
0313
0314 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tchar1", 0, (char *)&l, 0L,
0315 BFLD_LONG),
0316 EXSUCCEED);
0317 assert_equal(v.tchar1, 65);
0318
0319 l = 67;
0320 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tchar2", 2, (char *)&l, 0L,
0321 BFLD_LONG),
0322 EXSUCCEED);
0323 l = 66;
0324 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tchar2", 1, (char *)&l, 0L,
0325 BFLD_LONG),
0326 EXSUCCEED);
0327
0328 assert_equal(v.tchar2[2], 67);
0329 assert_equal(v.tchar2[1], 66);
0330
0331
0332 l = 66;
0333 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tfloat1", 1, (char *)&l, 0L,
0334 BFLD_LONG),
0335 EXSUCCEED);
0336 assert_double_equal(v.tfloat1[1], 66);
0337
0338 l = 65;
0339 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tfloat1", 1, (char *)&l, 0L,
0340 BFLD_LONG),
0341 EXSUCCEED);
0342 assert_double_equal(v.tfloat1[1], 65);
0343
0344
0345 l = 11111;
0346 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tdouble1", 1, (char *)&l, 0L,
0347 BFLD_LONG),
0348 EXSUCCEED);
0349 assert_double_equal(v.tdouble1[1],11111);
0350
0351
0352 l = 125;
0353 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tstring0", 1, (char *)&l, 0L,
0354 BFLD_LONG),
0355 EXSUCCEED);
0356 assert_string_equal(v.tstring0[1], "125");
0357
0358
0359 l = 521;
0360 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tcarray2", 0, (char *)&l, 0L,
0361 BFLD_LONG),
0362 EXSUCCEED);
0363
0364 v.tcarray2[3] = EXEOS;
0365 assert_string_equal(v.tcarray2, "521");
0366
0367
0368 l = 123456;
0369 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tcarray4", 0, (char *)&l, 0L,
0370 BFLD_LONG),
0371 EXFAIL);
0372
0373 assert_equal(Berror, BNOSPACE);
0374
0375
0376 }
0377
0378
0379
0380
0381 Ensure(test_Bvchg_char)
0382 {
0383 struct MYVIEW1 v;
0384 init_MYVIEW1(&v);
0385 char c;
0386 short s;
0387 long l;
0388
0389 c = 65;
0390 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort1", 0, (char *)&c, 0L, BFLD_CHAR),
0391 EXSUCCEED);
0392 assert_equal(v.tshort1, 'A');
0393
0394
0395 c = 0;
0396 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort1", 1, (char *)&c, 0L, BFLD_CHAR),
0397 EXFAIL);
0398 assert_equal(Berror, BEINVAL);
0399
0400
0401 c = 'a';
0402 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort2", 0, (char *)&c, 0L, BFLD_CHAR),
0403 EXSUCCEED);
0404 assert_equal(v.tshort2[0], 'a');
0405
0406 c = 'b';
0407 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tlong1", 0, (char *)&c, 0L, BFLD_CHAR),
0408 EXSUCCEED);
0409 assert_equal(v.tlong1, 'b');
0410
0411
0412 c = 90;
0413 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint3", 0, (char *)&c, 0L, BFLD_CHAR),
0414 EXSUCCEED);
0415 assert_equal(v.tint3, 'Z');
0416
0417
0418 c = 89;
0419 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint4", 1, (char *)&c, 0L, BFLD_CHAR),
0420 EXSUCCEED);
0421 assert_equal(v.tint4[1], 'Y');
0422
0423
0424 c = 0;
0425 assert_equal(CBvchg((char *)&v, "MYVIEW1", "xint3", 0, (char *)&c, 0L, BFLD_CHAR),
0426 EXFAIL);
0427 assert_equal(Berror, BNOCNAME);
0428
0429
0430 c = 'i';
0431 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint4", 1, (char *)&c, 0L, BFLD_CHAR),
0432 EXSUCCEED);
0433 assert_equal(v.tint4[1], 'i');
0434
0435 c = 'h';
0436 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint4", 0, (char *)&c, 0L, BFLD_CHAR),
0437 EXSUCCEED);
0438 assert_equal(v.tint4[0], 'h');
0439
0440
0441 c = 65;
0442 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tchar1", 0, (char *)&c, 0L,
0443 BFLD_CHAR),
0444 EXSUCCEED);
0445 assert_equal(v.tchar1, 65);
0446
0447
0448 c = 66;
0449 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tfloat1", 1, (char *)&c, 0L,
0450 BFLD_CHAR),
0451 EXSUCCEED);
0452 assert_equal(v.tfloat1[1], 66);
0453
0454 c = 'D';
0455 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tdouble1", 1, (char *)&c, 0L,
0456 BFLD_CHAR),
0457 EXSUCCEED);
0458 assert_equal(v.tdouble1[1],'D');
0459
0460
0461 c = 'X';
0462 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tstring0", 0, (char *)&c, 0L,
0463 BFLD_CHAR),
0464 EXSUCCEED);
0465
0466 assert_string_equal(v.tstring0[0],"X");
0467
0468 c = 'Y';
0469 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tstring2", 2, (char *)&c, 0L,
0470 BFLD_CHAR),
0471 EXSUCCEED);
0472
0473 assert_string_equal(v.tstring2[2],"Y");
0474 assert_equal(v.L_tstring2[2], 2);
0475
0476
0477 c='M';
0478 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tcarray2", 0, (char *)&c, 0L,
0479 BFLD_CHAR),
0480 EXSUCCEED);
0481 assert_equal(v.tcarray2[0], 'M');
0482 assert_equal(v.L_tcarray2, 1);
0483
0484 }
0485
0486
0487
0488
0489 Ensure(test_Bvchg_float)
0490 {
0491 struct MYVIEW1 v;
0492 init_MYVIEW1(&v);
0493 float f;
0494
0495 f = 1555;
0496 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort1", 0, (char *)&f, 0L, BFLD_FLOAT),
0497 EXSUCCEED);
0498 assert_equal(v.tshort1, 1555);
0499
0500
0501 f = 0;
0502 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort1", 1, (char *)&f, 0L, BFLD_FLOAT),
0503 EXFAIL);
0504 assert_double_equal(Berror, BEINVAL);
0505
0506
0507 f = -8888;
0508 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort3", 2, (char *)&f, 0L, BFLD_FLOAT),
0509 EXSUCCEED);
0510 f = -7777;
0511 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort3", 1, (char *)&f, 0L, BFLD_FLOAT),
0512 EXSUCCEED);
0513
0514 assert_equal(v.tshort3[2], -8888);
0515 assert_equal(v.tshort3[1], -7777);
0516
0517 f = 333333;
0518 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tlong1", 0, (char *)&f, 0L, BFLD_FLOAT),
0519 EXSUCCEED);
0520 assert_equal(v.tlong1, 333333);
0521
0522 f = -100;
0523 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint3", 0, (char *)&f, 0L, BFLD_FLOAT),
0524 EXSUCCEED);
0525 assert_equal(v.tint3, -100);
0526
0527 f = 1010101;
0528 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint4", 0, (char *)&f, 0L, BFLD_FLOAT),
0529 EXSUCCEED);
0530 assert_equal(v.tint4[0], 1010101);
0531
0532 f = 989898;
0533 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint4", 1, (char *)&f, 0L, BFLD_FLOAT),
0534 EXSUCCEED);
0535 assert_equal(v.tint4[1], 989898);
0536
0537
0538
0539 f = 65;
0540 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tchar1", 0, (char *)&f, 0L,
0541 BFLD_FLOAT),
0542 EXSUCCEED);
0543 assert_equal(v.tchar1, 65);
0544
0545
0546 f = 66;
0547 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tfloat1", 1, (char *)&f, 0L,
0548 BFLD_FLOAT),
0549 EXSUCCEED);
0550 assert_double_equal(v.tfloat1[1], 66);
0551
0552
0553 f = 11.44;
0554 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tdouble1", 1, (char *)&f, 0L,
0555 BFLD_FLOAT),
0556 EXSUCCEED);
0557 assert_double_equal(v.tdouble1[1],11.44);
0558
0559
0560 f = 55;
0561 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tstring0", 0, (char *)&f, 0L,
0562 BFLD_FLOAT),
0563 EXSUCCEED);
0564 assert_string_equal(v.tstring0[0],"55.00000");
0565
0566 f=44;
0567 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tcarray3", 3, (char *)&f, 0L,
0568 BFLD_FLOAT),
0569 EXSUCCEED);
0570 v.tcarray3[3][8] = EXEOS;
0571 assert_string_equal(v.tcarray3[3], "44.00000");
0572
0573 }
0574
0575
0576
0577
0578 Ensure(test_Bvchg_double)
0579 {
0580 struct MYVIEW1 v;
0581 init_MYVIEW1(&v);
0582 double d;
0583
0584 d = 1555;
0585 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort1", 0, (char *)&d, 0L, BFLD_DOUBLE),
0586 EXSUCCEED);
0587 assert_equal(v.tshort1, 1555);
0588
0589
0590 d = 0;
0591 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort1", 1, (char *)&d, 0L, BFLD_DOUBLE),
0592 EXFAIL);
0593 assert_double_equal(Berror, BEINVAL);
0594
0595
0596 d = -8888;
0597 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort3", 2, (char *)&d, 0L, BFLD_DOUBLE),
0598 EXSUCCEED);
0599 d = -7777;
0600 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort3", 1, (char *)&d, 0L, BFLD_DOUBLE),
0601 EXSUCCEED);
0602
0603 assert_equal(v.tshort3[2], -8888);
0604 assert_equal(v.tshort3[1], -7777);
0605
0606 d = 333333;
0607 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tlong1", 0, (char *)&d, 0L, BFLD_DOUBLE),
0608 EXSUCCEED);
0609 assert_equal(v.tlong1, 333333);
0610
0611 d = -100;
0612 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint3", 0, (char *)&d, 0L, BFLD_DOUBLE),
0613 EXSUCCEED);
0614 assert_equal(v.tint3, -100);
0615
0616 d = 1010101;
0617 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint4", 0, (char *)&d, 0L, BFLD_DOUBLE),
0618 EXSUCCEED);
0619 assert_equal(v.tint4[0], 1010101);
0620
0621 d = 989898;
0622 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint4", 1, (char *)&d, 0L, BFLD_DOUBLE),
0623 EXSUCCEED);
0624 assert_equal(v.tint4[1], 989898);
0625
0626
0627
0628 d = 65;
0629 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tchar1", 0, (char *)&d, 0L,
0630 BFLD_DOUBLE),
0631 EXSUCCEED);
0632 assert_equal(v.tchar1, 65);
0633
0634
0635 d = 66;
0636 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tfloat1", 1, (char *)&d, 0L,
0637 BFLD_DOUBLE),
0638 EXSUCCEED);
0639 assert_double_equal(v.tfloat1[1], 66);
0640
0641
0642 d = 11.44;
0643 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tdouble1", 1, (char *)&d, 0L,
0644 BFLD_DOUBLE),
0645 EXSUCCEED);
0646 assert_double_equal(v.tdouble1[1],11.44);
0647
0648
0649 d = 55;
0650 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tstring0", 0, (char *)&d, 0L,
0651 BFLD_DOUBLE),
0652 EXSUCCEED);
0653 assert_string_equal(v.tstring0[0],"55.000000");
0654
0655 d=44;
0656 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tcarray3", 3, (char *)&d, 0L,
0657 BFLD_DOUBLE),
0658 EXSUCCEED);
0659 v.tcarray3[3][9] = EXEOS;
0660 assert_string_equal(v.tcarray3[3], "44.000000");
0661
0662 }
0663
0664
0665
0666
0667 Ensure(test_Bvchg_string)
0668 {
0669 struct MYVIEW1 v;
0670 init_MYVIEW1(&v);
0671
0672 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort1", 0, "32000", 0L, BFLD_STRING),
0673 EXSUCCEED);
0674 assert_equal(v.tshort1, 32000);
0675
0676
0677 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort1", 1, "66", 0L, BFLD_STRING),
0678 EXFAIL);
0679 assert_equal(Berror, BEINVAL);
0680
0681
0682 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort2", 1, "-32000", 0L, BFLD_STRING),
0683 EXSUCCEED);
0684 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort3", 0, "55", 0L, BFLD_STRING),
0685 EXSUCCEED);
0686
0687 assert_equal(v.tshort2[1],-32000);
0688 assert_equal(v.tshort3[0], 55);
0689
0690
0691 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tlong1", 0, "33333333", 0L, BFLD_STRING),
0692 EXSUCCEED);
0693 assert_equal(v.tlong1, 33333333);
0694
0695 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint3", 0, "-100", 0L, BFLD_STRING),
0696 EXSUCCEED);
0697 assert_equal(v.tint3, -100);
0698
0699 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint4", 0, "1010101", 0L, BFLD_STRING),
0700 EXSUCCEED);
0701 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint4", 1, "989898", 0L, BFLD_STRING),
0702 EXSUCCEED);
0703
0704 assert_equal(v.tint4[0], 1010101);
0705 assert_equal(v.tint4[1], 989898);
0706
0707
0708 assert_equal(CBvchg((char *)&v, "MYVIEW1", "xint3", 0, "", 0L, BFLD_STRING),
0709 EXFAIL);
0710 assert_equal(Berror, BNOCNAME);
0711
0712
0713
0714
0715
0716 NDRX_LOG(log_debug, "tchar1=%c", v.tchar1);
0717
0718 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tchar1", 0, "A", 0L,
0719 BFLD_STRING),
0720 EXSUCCEED);
0721 assert_equal(v.tchar1, 'A');
0722
0723 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tchar2", 4, "\t", 0L,
0724 BFLD_STRING),
0725 EXSUCCEED);
0726 assert_equal(v.tchar2[4], '\t');
0727
0728 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tfloat1", 1, "66.5", 0L,
0729 BFLD_STRING),
0730 EXSUCCEED);
0731 assert_double_equal(v.tfloat1[1], 66.5);
0732
0733 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tdouble1", 1, "11.440000", 0L,
0734 BFLD_STRING),
0735 EXSUCCEED);
0736 assert_double_equal(v.tdouble1[1], 11.44);
0737
0738
0739 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tstring0", 1, "HELLO WOLRD", 0L,
0740 BFLD_STRING),
0741 EXSUCCEED);
0742 assert_string_equal(v.tstring0[1], "HELLO WOLRD");
0743
0744
0745 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tstring3", 1,
0746 "HELLO WOLRDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", 0L,
0747 BFLD_STRING),
0748 EXFAIL);
0749
0750 assert_equal(Berror, BNOSPACE);
0751
0752 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tcarray3", 3, "HELLO1", 6,
0753 BFLD_STRING),
0754 EXSUCCEED);
0755
0756 v.tcarray3[3][6] = EXEOS;
0757 assert_string_equal(v.tcarray3[3], "HELLO1");
0758 assert_equal(v.L_tcarray3[3], 6);
0759
0760 }
0761
0762
0763
0764
0765 Ensure(test_Bvchg_carray)
0766 {
0767 struct MYVIEW1 v;
0768 init_MYVIEW1(&v);
0769
0770 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort1", 0, "32000", 5, BFLD_CARRAY),
0771 EXSUCCEED);
0772 assert_equal(v.tshort1, 32000);
0773
0774
0775 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort1", 1, "66", 2, BFLD_STRING),
0776 EXFAIL);
0777 assert_equal(Berror, BEINVAL);
0778
0779
0780 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort2", 1, "-32000", 6, BFLD_STRING),
0781 EXSUCCEED);
0782 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort3", 0, "55", 2, BFLD_STRING),
0783 EXSUCCEED);
0784
0785 assert_equal(v.tshort2[1],-32000);
0786 assert_equal(v.tshort3[0], 55);
0787
0788
0789 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tlong1", 0, "33333333", 8, BFLD_STRING),
0790 EXSUCCEED);
0791 assert_equal(v.tlong1, 33333333);
0792
0793 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint3", 0, "-100", 4, BFLD_STRING),
0794 EXSUCCEED);
0795 assert_equal(v.tint3, -100);
0796
0797 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint4", 0, "1010101", 7, BFLD_STRING),
0798 EXSUCCEED);
0799 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint4", 1, "989898", 6, BFLD_STRING),
0800 EXSUCCEED);
0801
0802 assert_equal(v.tint4[0], 1010101);
0803 assert_equal(v.tint4[1], 989898);
0804
0805
0806 assert_equal(CBvchg((char *)&v, "MYVIEW1", "xint3", 0, "", 0L, BFLD_STRING),
0807 EXFAIL);
0808 assert_equal(Berror, BNOCNAME);
0809
0810
0811
0812
0813
0814 NDRX_LOG(log_debug, "tchar1=%c", v.tchar1);
0815
0816 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tchar1", 0, "A", 1,
0817 BFLD_STRING),
0818 EXSUCCEED);
0819 assert_equal(v.tchar1, 'A');
0820
0821 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tchar2", 4, "\t", 1,
0822 BFLD_STRING),
0823 EXSUCCEED);
0824 assert_equal(v.tchar2[4], '\t');
0825
0826 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tfloat1", 1, "66.5", 4,
0827 BFLD_STRING),
0828 EXSUCCEED);
0829 assert_double_equal(v.tfloat1[1], 66.5);
0830
0831 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tdouble1", 1, "11.440000", 9,
0832 BFLD_STRING),
0833 EXSUCCEED);
0834 assert_double_equal(v.tdouble1[1], 11.44);
0835
0836
0837 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tstring0", 1, "HELLO WOLRD", 11,
0838 BFLD_STRING),
0839 EXSUCCEED);
0840 assert_string_equal(v.tstring0[1], "HELLO WOLRD");
0841
0842
0843 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tstring3", 3,
0844 "HELLO WOLRDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", 75,
0845 BFLD_STRING),
0846 EXFAIL);
0847
0848 assert_equal(Berror, BNOSPACE);
0849
0850 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tcarray3", 3, "HELLO1", 6,
0851 BFLD_STRING),
0852 EXSUCCEED);
0853
0854 v.tcarray3[3][6] = EXEOS;
0855 assert_string_equal(v.tcarray3[3], "HELLO1");
0856 assert_equal(v.L_tcarray3[3], 6);
0857
0858 }
0859
0860
0861
0862
0863
0864 Ensure(test_Bvchg_int)
0865 {
0866 struct MYVIEW1 v;
0867 int i;
0868
0869 memset(&v, 0, sizeof(v));
0870
0871 i = 15556;
0872 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort1", 0, (char *)&i, 0L, BFLD_INT),
0873 EXSUCCEED);
0874 assert_equal(v.tshort1, 15556);
0875
0876
0877 i = 0;
0878 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort1", 1, (char *)&i, 0L, BFLD_INT),
0879 EXFAIL);
0880 assert_equal(Berror, BEINVAL);
0881
0882 i = 9999;
0883 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort2", 0, (char *)&i, 0L, BFLD_INT),
0884 EXSUCCEED);
0885 assert_equal(v.tshort2[0], 9999);
0886
0887 i = 8888;
0888 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort2", 1, (char *)&i, 0L, BFLD_INT),
0889 EXSUCCEED);
0890 assert_equal(v.tshort2[1], 8888);
0891
0892 i = 7777;
0893 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tshort3", 0, (char *)&i, 0L, BFLD_INT),
0894 EXSUCCEED);
0895 assert_equal(v.tshort3[0], 7777);
0896
0897
0898 i = 33333333;
0899 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tlong1", 0, (char *)&i, 0L, BFLD_INT),
0900 EXSUCCEED);
0901 assert_equal(v.tlong1, 33333333);
0902
0903 i = -100;
0904 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint3", 0, (char *)&i, 0L, BFLD_INT),
0905 EXSUCCEED);
0906 i = 1010101;
0907 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint4", 0, (char *)&i, 0L, BFLD_INT),
0908 EXSUCCEED);
0909 assert_equal(v.tint3, -100);
0910 assert_equal(v.tint4[0], 1010101);
0911
0912 i = 989898;
0913 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tint4", 1, (char *)&i, 0L, BFLD_INT),
0914 EXSUCCEED);
0915 assert_equal(v.tint4[1], 989898);
0916
0917
0918 i = 0;
0919 assert_equal(CBvchg((char *)&v, "MYVIEW1", "xint3", 0, (char *)&i, 0L, BFLD_INT),
0920 EXFAIL);
0921 assert_equal(Berror, BNOCNAME);
0922
0923
0924
0925 i = 65;
0926
0927 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tchar1", 0, (char *)&i, 0L,
0928 BFLD_INT),
0929 EXSUCCEED);
0930 assert_equal(v.tchar1, 65);
0931
0932 i = 67;
0933 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tchar2", 2, (char *)&i, 0L,
0934 BFLD_INT),
0935 EXSUCCEED);
0936 i = 66;
0937 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tchar2", 1, (char *)&i, 0L,
0938 BFLD_INT),
0939 EXSUCCEED);
0940
0941 assert_equal(v.tchar2[2], 67);
0942 assert_equal(v.tchar2[1], 66);
0943
0944
0945 i = 66;
0946 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tfloat1", 1, (char *)&i, 0L,
0947 BFLD_INT),
0948 EXSUCCEED);
0949 assert_double_equal(v.tfloat1[1], 66);
0950
0951 i = 65;
0952 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tfloat1", 1, (char *)&i, 0L,
0953 BFLD_INT),
0954 EXSUCCEED);
0955 assert_double_equal(v.tfloat1[1], 65);
0956
0957
0958 i = 11111;
0959 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tdouble1", 1, (char *)&i, 0L,
0960 BFLD_INT),
0961 EXSUCCEED);
0962 assert_double_equal(v.tdouble1[1],11111);
0963
0964
0965 i = 125;
0966 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tstring0", 1, (char *)&i, 0L,
0967 BFLD_INT),
0968 EXSUCCEED);
0969 assert_string_equal(v.tstring0[1], "125");
0970
0971
0972 i = 521;
0973 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tcarray2", 0, (char *)&i, 0L,
0974 BFLD_INT),
0975 EXSUCCEED);
0976
0977 v.tcarray2[3] = EXEOS;
0978 assert_string_equal(v.tcarray2, "521");
0979
0980
0981 i = 123456;
0982 assert_equal(CBvchg((char *)&v, "MYVIEW1", "tcarray4", 0, (char *)&i, 0L,
0983 BFLD_INT),
0984 EXFAIL);
0985
0986 assert_equal(Berror, BNOSPACE);
0987
0988
0989 }
0990
0991
0992
0993
0994
0995
0996 TestSuite *vacc_CBvchg_tests(void) {
0997 TestSuite *suite = create_test_suite();
0998
0999 set_setup(suite, basic_setup);
1000 set_teardown(suite, basic_teardown);
1001
1002
1003 add_test(suite, test_Bvchg_short);
1004 add_test(suite, test_Bvchg_long);
1005 add_test(suite, test_Bvchg_char);
1006 add_test(suite, test_Bvchg_float);
1007 add_test(suite, test_Bvchg_double);
1008 add_test(suite, test_Bvchg_string);
1009 add_test(suite, test_Bvchg_carray);
1010 add_test(suite, test_Bvchg_int);
1011
1012 return suite;
1013 }
1014