static gboolean test_add_account (const char* tag, gpointer globaldata, gpointer data) { Account* account = static_cast<decltype (account)> (data); act_data* gdata = (act_data*)globaldata; gnc_commodity* com; gnc_commodity* new_com; gnc_commodity_table* t; com = xaccAccountGetCommodity (account); t = gnc_commodity_table_get_table (sixbook); new_com = gnc_commodity_table_lookup (t, gnc_commodity_get_namespace (com), gnc_commodity_get_mnemonic (com)); if (new_com) { xaccAccountSetCommodity (account, new_com); } do_test_args (xaccAccountEqual ((Account*)account, (Account*) (gdata->act), TRUE), "gnc_account_sixtp_parser_create", __FILE__, __LINE__, "%d", gdata->value); return TRUE; }
gboolean gncTaxTableEntryEqual(const GncTaxTableEntry *a, const GncTaxTableEntry *b) { if (a == NULL && b == NULL) return TRUE; if (a == NULL || b == NULL) return FALSE; if (!xaccAccountEqual(a->account, b->account, TRUE)) { PWARN("accounts differ"); return FALSE; } if (a->type != b->type) { PWARN("types differ"); return FALSE; } if (!gnc_numeric_equal(a->amount, b->amount)) { PWARN("amounts differ"); return FALSE; } return TRUE; }
static void compare_account_trees( QofBook* book_1, QofBook* book_2 ) { Account* root_1 = gnc_book_get_root_account( book_1 ); Account* root_2 = gnc_book_get_root_account( book_2 ); xaccAccountSetHidden( root_1, xaccAccountGetHidden( root_1 ) ); do_test( xaccAccountEqual( root_1, root_2, FALSE ), "Accounts trees match" ); }
gboolean gncEmployeeEqual(const GncEmployee* a, const GncEmployee* b) { if (a == NULL && b == NULL) return TRUE; if (a == NULL || b == NULL ) return FALSE; g_return_val_if_fail(GNC_IS_EMPLOYEE(a), FALSE); g_return_val_if_fail(GNC_IS_EMPLOYEE(b), FALSE); if (safe_strcmp(a->id, b->id) != 0) { PWARN("IDs differ: %s vs %s", a->id, b->id); return FALSE; } if (safe_strcmp(a->username, b->username) != 0) { PWARN("Usernames differ: %s vs %s", a->username, b->username); return FALSE; } if (!gncAddressEqual(a->addr, b->addr)) { PWARN("Addresses differ"); return FALSE; } if (!gnc_commodity_equal(a->currency, b->currency)) { PWARN("Currencies differ"); return FALSE; } if (a->active != b->active) { PWARN("Active flags differ"); return FALSE; } if (safe_strcmp(a->language, b->language) != 0) { PWARN("Languages differ: %s vs %s", a->language, b->language); return FALSE; } if (safe_strcmp(a->acl, b->acl) != 0) { PWARN("ACLs differ: %s vs %s", a->acl, b->acl); return FALSE; } if (!xaccAccountEqual(a->ccard_acc, b->ccard_acc, TRUE)) { PWARN("Accounts differ"); return FALSE; } if (!gnc_numeric_equal(a->workday, b->workday)) { PWARN("Workdays differ"); return FALSE; } if (!gnc_numeric_equal(a->rate, b->rate)) { PWARN("Rates differ"); return FALSE; } return TRUE; }