1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
|
#include "../test.h"
#include "isds.h"
#include <string.h>
static int test_isds_DbOwnerInfo_duplicate(struct isds_DbOwnerInfo *origin) {
struct isds_DbOwnerInfo *copy = isds_DbOwnerInfo_duplicate(origin);
TEST_DESTRUCTOR((void(*)(void*))isds_DbOwnerInfo_free, ©);
if (!origin) {
if (copy)
FAIL_TEST("Duplicate of NULL should be NULL");
PASS_TEST;
}
if (!copy)
FAIL_TEST("isds_DbOwnerInfo_duplicate() returned NULL instead of "
"pointer to copy");
TEST_STRING_DUPLICITY(origin->dbID, copy->dbID);
TEST_INTPTR_DUPLICITY(origin->dbType, copy->dbType);
TEST_STRING_DUPLICITY(origin->ic, copy->ic);
/* Name of person */
TEST_POINTER_DUPLICITY(origin->personName, copy->personName);
if (origin->personName && copy->personName) {
TEST_STRING_DUPLICITY(origin->personName->pnFirstName,
copy->personName->pnFirstName);
TEST_STRING_DUPLICITY(origin->personName->pnMiddleName,
copy->personName->pnMiddleName);
TEST_STRING_DUPLICITY(origin->personName->pnLastName,
copy->personName->pnLastName);
TEST_STRING_DUPLICITY(origin->personName->pnLastNameAtBirth,
copy->personName->pnLastNameAtBirth);
}
/* Birth of person */
TEST_POINTER_DUPLICITY(origin->birthInfo, copy->birthInfo);
if(origin->birthInfo && copy->birthInfo) {
TEST_TMPTR_DUPLICITY(origin->birthInfo->biDate,
copy->birthInfo->biDate);
TEST_STRING_DUPLICITY(origin->birthInfo->biCity,
copy->birthInfo->biCity);
TEST_STRING_DUPLICITY(origin->birthInfo->biCounty,
copy->birthInfo->biCounty);
TEST_STRING_DUPLICITY(origin->birthInfo->biState,
copy->birthInfo->biState);
}
/* Post address */
TEST_POINTER_DUPLICITY(origin->address, copy->address);
if (origin->address && copy->address) {
TEST_STRING_DUPLICITY(origin->address->adCity,
copy->address->adCity);
TEST_STRING_DUPLICITY(origin->address->adStreet,
copy->address->adStreet);
TEST_STRING_DUPLICITY(origin->address->adNumberInStreet,
copy->address->adNumberInStreet);
TEST_STRING_DUPLICITY(origin->address->adNumberInMunicipality,
copy->address->adNumberInMunicipality);
TEST_STRING_DUPLICITY(origin->address->adZipCode,
copy->address->adZipCode);
TEST_STRING_DUPLICITY(origin->address->adState,
copy->address->adState);
}
TEST_STRING_DUPLICITY(origin->nationality, copy->nationality);
TEST_STRING_DUPLICITY(origin->email, copy->email);
TEST_STRING_DUPLICITY(origin->telNumber, copy->telNumber);
TEST_STRING_DUPLICITY(origin->identifier, copy->identifier);
TEST_STRING_DUPLICITY(origin->registryCode, copy->registryCode);
TEST_INTPTR_DUPLICITY(origin->dbState, copy->dbState);
TEST_BOOLEANPTR_DUPLICITY(origin->dbEffectiveOVM, copy->dbEffectiveOVM);
TEST_BOOLEANPTR_DUPLICITY(origin->dbOpenAddressing, copy->dbOpenAddressing);
PASS_TEST;
}
int main(int argc, char **argv) {
INIT_TEST("isds_DbOwnerInfo_duplicate()");
if (isds_init())
ABORT_UNIT("isds_init() failed");
TEST("NULL", test_isds_DbOwnerInfo_duplicate, NULL);
struct isds_DbOwnerInfo empty;
memset(&empty, 0, sizeof(empty));
TEST("Empty structure", test_isds_DbOwnerInfo_duplicate, &empty);
/* Full structure */
isds_DbType dbType = 2;
struct isds_PersonName PersonName = {
.pnFirstName = "P1",
.pnMiddleName = "P2",
.pnLastName = "P3",
.pnLastNameAtBirth = "P4"
};
struct tm BiDate = {
.tm_year = 1,
.tm_mon = 2,
.tm_mday = 3
};
struct isds_BirthInfo BirthInfo = {
.biDate = &BiDate,
.biCity = "B2",
.biCounty = "B3",
.biState = "B4"
};
struct isds_Address Address = {
.adCity = "A1",
.adStreet = "A2",
.adNumberInStreet = "A3",
.adNumberInMunicipality = "A4",
.adZipCode = "A5",
.adState = "A6"
};
long int DbState = 13;
_Bool DbEffectiveOVM = 1;
_Bool DbOpenAddressing = 1;
struct isds_DbOwnerInfo full = {
.dbID = "1",
.dbType = &dbType,
.ic = "3",
.personName = &PersonName,
.firmName = "5",
.birthInfo = &BirthInfo,
.address = &Address,
.nationality = "8",
.email = "9",
.telNumber = "10",
.identifier = "11",
.registryCode = "12",
.dbState = &DbState,
.dbEffectiveOVM = &DbEffectiveOVM,
.dbOpenAddressing = &DbOpenAddressing
};
TEST("Full structure", test_isds_DbOwnerInfo_duplicate, &full);
isds_cleanup();
SUM_TEST();
}
|