5 static int test_isds_DbOwnerInfo_duplicate(struct isds_DbOwnerInfo
*origin
) {
6 struct isds_DbOwnerInfo
*copy
= isds_DbOwnerInfo_duplicate(origin
);
7 TEST_DESTRUCTOR((void(*)(void*))isds_DbOwnerInfo_free
, ©
);
11 FAIL_TEST("Duplicate of NULL should be NULL");
16 FAIL_TEST("isds_DbOwnerInfo_duplicate() returned NULL instead of "
19 TEST_STRING_DUPLICITY(origin
->dbID
, copy
->dbID
);
20 TEST_INTPTR_DUPLICITY(origin
->dbType
, copy
->dbType
);
21 TEST_STRING_DUPLICITY(origin
->ic
, copy
->ic
);
24 TEST_POINTER_DUPLICITY(origin
->personName
, copy
->personName
);
25 if (origin
->personName
&& copy
->personName
) {
26 TEST_STRING_DUPLICITY(origin
->personName
->pnFirstName
,
27 copy
->personName
->pnFirstName
);
28 TEST_STRING_DUPLICITY(origin
->personName
->pnMiddleName
,
29 copy
->personName
->pnMiddleName
);
30 TEST_STRING_DUPLICITY(origin
->personName
->pnLastName
,
31 copy
->personName
->pnLastName
);
32 TEST_STRING_DUPLICITY(origin
->personName
->pnLastNameAtBirth
,
33 copy
->personName
->pnLastNameAtBirth
);
37 TEST_POINTER_DUPLICITY(origin
->birthInfo
, copy
->birthInfo
);
38 if(origin
->birthInfo
&& copy
->birthInfo
) {
39 TEST_TMPTR_DUPLICITY(origin
->birthInfo
->biDate
,
40 copy
->birthInfo
->biDate
);
41 TEST_STRING_DUPLICITY(origin
->birthInfo
->biCity
,
42 copy
->birthInfo
->biCity
);
43 TEST_STRING_DUPLICITY(origin
->birthInfo
->biCounty
,
44 copy
->birthInfo
->biCounty
);
45 TEST_STRING_DUPLICITY(origin
->birthInfo
->biState
,
46 copy
->birthInfo
->biState
);
50 TEST_POINTER_DUPLICITY(origin
->address
, copy
->address
);
51 if (origin
->address
&& copy
->address
) {
52 TEST_INTPTR_DUPLICITY(origin
->address
->adCode
,
53 copy
->address
->adCode
);
54 TEST_STRING_DUPLICITY(origin
->address
->adCity
,
55 copy
->address
->adCity
);
56 TEST_STRING_DUPLICITY(origin
->address
->adDistrict
,
57 copy
->address
->adDistrict
);
58 TEST_STRING_DUPLICITY(origin
->address
->adStreet
,
59 copy
->address
->adStreet
);
60 TEST_STRING_DUPLICITY(origin
->address
->adNumberInStreet
,
61 copy
->address
->adNumberInStreet
);
62 TEST_STRING_DUPLICITY(origin
->address
->adNumberInMunicipality
,
63 copy
->address
->adNumberInMunicipality
);
64 TEST_STRING_DUPLICITY(origin
->address
->adZipCode
,
65 copy
->address
->adZipCode
);
66 TEST_STRING_DUPLICITY(origin
->address
->adState
,
67 copy
->address
->adState
);
70 TEST_STRING_DUPLICITY(origin
->nationality
, copy
->nationality
);
71 TEST_STRING_DUPLICITY(origin
->email
, copy
->email
);
72 TEST_STRING_DUPLICITY(origin
->telNumber
, copy
->telNumber
);
73 TEST_STRING_DUPLICITY(origin
->identifier
, copy
->identifier
);
74 TEST_BOOLEANPTR_DUPLICITY(origin
->aifoIsds
, copy
->aifoIsds
);
75 TEST_STRING_DUPLICITY(origin
->registryCode
, copy
->registryCode
);
76 TEST_INTPTR_DUPLICITY(origin
->dbState
, copy
->dbState
);
77 TEST_BOOLEANPTR_DUPLICITY(origin
->dbEffectiveOVM
, copy
->dbEffectiveOVM
);
78 TEST_BOOLEANPTR_DUPLICITY(origin
->dbOpenAddressing
, copy
->dbOpenAddressing
);
86 INIT_TEST("isds_DbOwnerInfo_duplicate()");
88 ABORT_UNIT("isds_init() failed");
90 TEST("NULL", test_isds_DbOwnerInfo_duplicate
, NULL
);
92 struct isds_DbOwnerInfo empty
;
93 memset(&empty
, 0, sizeof(empty
));
94 TEST("Empty structure", test_isds_DbOwnerInfo_duplicate
, &empty
);
97 isds_DbType dbType
= 2;
99 struct isds_PersonName PersonName
= {
101 .pnMiddleName
= "P2",
103 .pnLastNameAtBirth
= "P4"
110 struct isds_BirthInfo BirthInfo
= {
116 struct isds_Address Address
= {
121 .adNumberInStreet
= "A4",
122 .adNumberInMunicipality
= "A5",
126 long int DbState
= 13;
128 _Bool DbEffectiveOVM
= 1;
129 _Bool DbOpenAddressing
= 1;
130 struct isds_DbOwnerInfo full
= {
134 .personName
= &PersonName
,
136 .birthInfo
= &BirthInfo
,
142 .aifoIsds
= &aifoIsds
,
143 .registryCode
= "12",
145 .dbEffectiveOVM
= &DbEffectiveOVM
,
146 .dbOpenAddressing
= &DbOpenAddressing
148 TEST("Full structure", test_isds_DbOwnerInfo_duplicate
, &full
);