X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=t%2Fsrc%2Fupdate_gom.c;h=a4e0b0e4b531582aa1b62d874d744248f6ce60e0;hb=681b182b6f003e91a47a098b7e8ac632315f61a6;hp=f529f66e3d9e5c62ec02dfd42268742c00664614;hpb=0ba899a49684fbb62d6f1baea4309e716d170d16;p=gedcom-parse.git diff --git a/t/src/update_gom.c b/t/src/update_gom.c index f529f66..a4e0b0e 100644 --- a/t/src/update_gom.c +++ b/t/src/update_gom.c @@ -137,63 +137,63 @@ int test_date_functions() head = gom_get_header(); if (head == NULL) - return 100; + return 50; dv = head->date; if (dv != NULL) - return 101; + return 51; dv = gedcom_new_date_value(NULL); if (dv == NULL) - return 102; + return 52; head->date = dv; date_str = print_date("Initial date value", dv); if (date_str[0]) - return 103; + return 53; dv->date1.cal = CAL_GREGORIAN; strcpy(dv->date1.year_str, "1990"); normalized = gedcom_normalize_date(DI_FROM_STRINGS, dv); if (normalized != 0) - return 104; + return 54; date_str = print_date("Setting only year string", dv); if (! date_str[0]) - return 105; + return 55; dv->date1.year = 1989; normalized = gedcom_normalize_date(DI_FROM_NUMBERS, dv); if (normalized != 0) - return 106; + return 56; date_str = print_date("Setting only year number", dv); if (! date_str[0]) - return 107; + return 57; dv->date1.type = DATE_EXACT; dv->date1.sdn1 = 2500000; dv->date1.sdn2 = -1; normalized = gedcom_normalize_date(DI_FROM_SDN, dv); if (normalized != 0) - return 108; + return 58; date_str = print_date("Setting only SDN 1", dv); if (! date_str[0]) - return 109; + return 59; dv->date1.cal = CAL_HEBREW; normalized = gedcom_normalize_date(DI_FROM_SDN, dv); if (normalized != 0) - return 110; + return 60; date_str = print_date("Same date in Hebrew calendar", dv); if (! date_str[0]) - return 111; + return 61; dv->date1.cal = CAL_FRENCH_REV; normalized = gedcom_normalize_date(DI_FROM_SDN, dv); if (normalized == 0) - return 112; + return 62; date_str = print_date("Same date in French revolution calendar", dv); if (date_str[0]) - return 113; + return 63; dv->date1.cal = CAL_GREGORIAN; dv->date1.day = 4; @@ -201,22 +201,22 @@ int test_date_functions() dv->date1.year = 1799; normalized = gedcom_normalize_date(DI_FROM_NUMBERS, dv); if (normalized != 0) - return 114; + return 64; dv->date1.cal = CAL_FRENCH_REV; normalized = gedcom_normalize_date(DI_FROM_SDN, dv); if (normalized != 0) - return 115; + return 65; date_str = print_date("Valid French revolution date", dv); if (! date_str[0]) - return 116; + return 66; return 0; } -int test_record_add_delete_functions() +int test_add_delete_functions() { struct family* fam1; - struct individual* ind1; + struct individual *ind1, *ind2, *ind3, *ind4; struct multimedia* mm1; struct note* note1; struct repository* repo1; @@ -225,100 +225,156 @@ int test_record_add_delete_functions() struct submission* subn1; struct user_rec* user1; struct xref_value* xr; + struct xref_list* xrl; + struct personal_name* name; int result; char* value; const char* new_nr_of_children = "3"; const char* note_text = "This is some text"; - fam1 = gom_add_family("@FAM1@"); - if (!fam1) return 201; + fam1 = gom_new_family("@FAM1@"); + if (!fam1) return 101; value = gom_set_string(&fam1->nr_of_children, new_nr_of_children); if (value == NULL) - return 202; + return 102; if (strcmp(value, new_nr_of_children)) - return 203; + return 103; - ind1 = gom_add_individual("@FAM1@"); - if (ind1) return 204; + ind1 = gom_new_individual("@FAM1@"); + if (ind1) return 104; - ind1 = gom_add_individual("@IND1@"); - if (!ind1) return 205; + ind1 = gom_new_individual("@IND1@"); + if (!ind1) return 105; - mm1 = gom_add_multimedia("@OBJ1@"); - if (!mm1) return 206; + mm1 = gom_new_multimedia("@OBJ1@"); + if (!mm1) return 106; - note1 = gom_add_note("@NOTE1@"); - if (!note1) return 207; + note1 = gom_new_note("@NOTE1@"); + if (!note1) return 107; value = gom_set_string(¬e1->text, note_text); if (value == NULL) - return 208; + return 108; if (strcmp(value, note_text)) - return 209; + return 109; + + repo1 = gom_new_repository("@REPO1@"); + if (!repo1) return 110; + + sour1 = gom_new_source("@SOUR1@"); + if (!sour1) return 111; + + subm2 = gom_new_submitter("@SUBMITTER@"); + if (subm2) return 112; + + subm2 = gom_new_submitter("@SUBM2@"); + if (!subm2) return 113; + + subn1 = gom_new_submission("@SUBMISSION@"); + if (!subn1) return 114; - repo1 = gom_add_repository("@REPO1@"); - if (!repo1) return 210; + user1 = gom_new_user_rec("@USER1@", "WRTAG"); + if (user1) return 115; - sour1 = gom_add_source("@SOUR1@"); - if (!sour1) return 211; + user1 = gom_new_user_rec("@USER1@", "_TAG"); + if (!user1) return 116; - subm2 = gom_add_submitter("@SUBMITTER@"); - if (subm2) return 212; + xr = gom_set_xref(&(fam1->husband), ind1->xrefstr); + if (!xr) return 118; - subm2 = gom_add_submitter("@SUBM2@"); - if (!subm2) return 213; + ind2 = gom_new_individual("@IND2@"); + if (!ind2) return 119; - subn1 = gom_add_submission("@SUBMISSION@"); - if (!subn1) return 214; + ind3 = gom_new_individual("@IND3@"); + if (!ind3) return 120; - user1 = gom_add_user_rec("@USER1@", "WRTAG"); - if (user1) return 215; + ind4 = gom_new_individual("@IND4@"); + if (!ind4) return 121; - user1 = gom_add_user_rec("@USER1@", "_TAG"); - if (!user1) return 216; + xrl = gom_add_xref(&(fam1->children), ind2->xrefstr); + if (!xrl) return 122; - xr = gom_make_individual_link(ind1); - if (!xr) return 217; + xrl = gom_add_xref(&(fam1->children), ind3->xrefstr); + if (!xrl) return 123; - xr = gom_set_xref_value(&(fam1->husband), xr); - if (!xr) return 218; + xrl = gom_add_xref(&(fam1->children), ind4->xrefstr); + if (!xrl) return 124; - output(0, "Intermediate output:\n"); + result = gom_move_xref(MOVE_UP, &(fam1->children), ind4->xrefstr); + if (result != 0) return 125; + + result = gom_move_xref(MOVE_UP, &(fam1->children), ind4->xrefstr); + if (result != 0) return 126; + + result = gom_move_xref(MOVE_UP, &(fam1->children), ind4->xrefstr); + if (result != 0) return 127; + + result = gom_move_xref(MOVE_DOWN, &(fam1->children), ind4->xrefstr); + if (result != 0) return 128; + + result = gom_remove_xref(&(fam1->children), ind3->xrefstr); + if (result != 0) return 129; + + result = gom_remove_xref(&(fam1->children), ind4->xrefstr); + if (result != 0) return 130; + + name = gom_add_new_personal_name(&(ind2->name)); + if (name == NULL) return 131; + + value = gom_set_string(&(name->name), "Testname"); + if (value == NULL) return 132; + + name = gom_add_new_personal_name(&(ind2->name)); + if (name == NULL) return 133; + + value = gom_set_string(&(name->name), "Testname 2"); + if (value == NULL) return 134; + + result = gom_move_personal_name(MOVE_UP, &(ind2->name), name); + if (result != 0) return 135; + + result = gom_remove_personal_name(&(ind2->name), name); + if (result != 0) return 136; + + output(1, "Intermediate output:\n"); show_data(); result = gom_delete_individual(ind1); - if (result == 0) return 251; + if (result == 0) return 150; - xr = gom_set_xref_value(&(fam1->husband), NULL); - if (xr) return 252; + xr = gom_set_xref(&(fam1->husband), NULL); + if (xr) return 151; result = gom_delete_individual(ind1); - if (result != 0) return 253; + if (result != 0) return 152; result = gom_delete_family(fam1); - if (result != 0) return 250; + if (result != 0) return 153; + + result = gom_delete_individual(ind2); + if (result != 0) return 154; result = gom_delete_multimedia(mm1); - if (result != 0) return 254; + if (result != 0) return 155; result = gom_delete_note(note1); - if (result != 0) return 255; + if (result != 0) return 156; result = gom_delete_repository(repo1); - if (result != 0) return 256; + if (result != 0) return 157; result = gom_delete_source(sour1); - if (result != 0) return 257; + if (result != 0) return 158; result = gom_delete_submitter(subm2); - if (result != 0) return 258; + if (result != 0) return 159; result = gom_delete_submission(subn1); - if (result != 0) return 259; + if (result != 0) return 160; result = gom_delete_user_rec(user1); - if (result != 0) return 260; + if (result != 0) return 161; return 0; } @@ -369,7 +425,7 @@ int main(int argc, char* argv[]) if (result == 0) result |= test_date_functions(); if (result == 0) - result |= test_record_add_delete_functions(); + result |= test_add_delete_functions(); if (result == 0) { output(1, "Test succeeded\n"); }