Check balances in account & split compare functions.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@5713 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Dave Peticolas 2001-10-23 23:57:18 +00:00
parent 6820436bdb
commit 41bd71c4ad
3 changed files with 147 additions and 1 deletions

View File

@ -420,7 +420,7 @@ test_mode (const char *db_name, const char *mode,
add_random_transactions_to_session (session, add_random_transactions_to_session (session,
get_random_int_in_range (10, 20)); get_random_int_in_range (10, 20));
if (!save_db_file (session, db_name, mode)) if (!save_db_file (session, db_name, "single-update"))
return FALSE; return FALSE;
session_db = gnc_session_new (); session_db = gnc_session_new ();

View File

@ -448,6 +448,104 @@ xaccAccountEqual(Account *aa, Account *ab, gboolean check_guids)
return FALSE; return FALSE;
} }
if (!gnc_numeric_equal (aa->starting_balance, ab->starting_balance))
{
char *str_a;
char *str_b;
str_a = gnc_numeric_to_string (aa->starting_balance);
str_b = gnc_numeric_to_string (ab->starting_balance);
PWARN ("starting balances differ: %s vs %s", str_a, str_b);
g_free (str_a);
g_free (str_b);
return FALSE;
}
if (!gnc_numeric_equal (aa->starting_cleared_balance,
ab->starting_cleared_balance))
{
char *str_a;
char *str_b;
str_a = gnc_numeric_to_string (aa->starting_cleared_balance);
str_b = gnc_numeric_to_string (ab->starting_cleared_balance);
PWARN ("starting cleared balances differ: %s vs %s", str_a, str_b);
g_free (str_a);
g_free (str_b);
return FALSE;
}
if (!gnc_numeric_equal (aa->starting_reconciled_balance,
ab->starting_reconciled_balance))
{
char *str_a;
char *str_b;
str_a = gnc_numeric_to_string (aa->starting_reconciled_balance);
str_b = gnc_numeric_to_string (ab->starting_reconciled_balance);
PWARN ("starting reconciled balances differ: %s vs %s", str_a, str_b);
g_free (str_a);
g_free (str_b);
return FALSE;
}
if (!gnc_numeric_equal (aa->balance, ab->balance))
{
char *str_a;
char *str_b;
str_a = gnc_numeric_to_string (aa->balance);
str_b = gnc_numeric_to_string (ab->balance);
PWARN ("balances differ: %s vs %s", str_a, str_b);
g_free (str_a);
g_free (str_b);
return FALSE;
}
if (!gnc_numeric_equal (aa->cleared_balance, ab->cleared_balance))
{
char *str_a;
char *str_b;
str_a = gnc_numeric_to_string (aa->cleared_balance);
str_b = gnc_numeric_to_string (ab->cleared_balance);
PWARN ("cleared balances differ: %s vs %s", str_a, str_b);
g_free (str_a);
g_free (str_b);
return FALSE;
}
if (!gnc_numeric_equal (aa->reconciled_balance, ab->reconciled_balance))
{
char *str_a;
char *str_b;
str_a = gnc_numeric_to_string (aa->reconciled_balance);
str_b = gnc_numeric_to_string (ab->reconciled_balance);
PWARN ("reconciled balances differ: %s vs %s", str_a, str_b);
g_free (str_a);
g_free (str_b);
return FALSE;
}
/* no parent; always compare downwards. */ /* no parent; always compare downwards. */
{ {

View File

@ -313,6 +313,54 @@ xaccSplitEqual(const Split *sa, const Split *sb,
return FALSE; return FALSE;
} }
if (!gnc_numeric_equal (sa->balance, sb->balance))
{
char *str_a;
char *str_b;
str_a = gnc_numeric_to_string (sa->balance);
str_b = gnc_numeric_to_string (sb->balance);
PWARN ("balances differ: %s vs %s", str_a, str_b);
g_free (str_a);
g_free (str_b);
return FALSE;
}
if (!gnc_numeric_equal (sa->cleared_balance, sb->cleared_balance))
{
char *str_a;
char *str_b;
str_a = gnc_numeric_to_string (sa->cleared_balance);
str_b = gnc_numeric_to_string (sb->cleared_balance);
PWARN ("cleared balances differ: %s vs %s", str_a, str_b);
g_free (str_a);
g_free (str_b);
return FALSE;
}
if (!gnc_numeric_equal (sa->reconciled_balance, sb->reconciled_balance))
{
char *str_a;
char *str_b;
str_a = gnc_numeric_to_string (sa->reconciled_balance);
str_b = gnc_numeric_to_string (sb->reconciled_balance);
PWARN ("reconciled balances differ: %s vs %s", str_a, str_b);
g_free (str_a);
g_free (str_b);
return FALSE;
}
if (!xaccTransEqual(sa->parent, sb->parent, check_guids, check_txn_splits)) if (!xaccTransEqual(sa->parent, sb->parent, check_guids, check_txn_splits))
{ {
PWARN ("transactions differ"); PWARN ("transactions differ");