29 #include <qofinstance-p.h>
31 #include "gncInvoiceP.h"
32 #include "gncCustomerP.h"
34 #include "gncVendorP.h"
35 #include "test-stuff.h"
40 test_string_fcn (
QofBook *book,
const char *message,
41 void (*set) (
GncVendor *,
const char *str),
46 test_numeric_fcn (
QofBook *book,
const char *message,
52 test_bool_fcn (
QofBook *book,
const char *message,
58 test_gint_fcn (
QofBook *book,
const char *message,
73 do_test (gncVendorCreate (NULL) == NULL,
"vendor create NULL");
74 vendor = gncVendorCreate (book);
75 do_test (vendor != NULL,
"vendor create");
79 gncVendorBeginEdit (vendor);
80 gncVendorDestroy (vendor);
81 success (
"create/destroy");
88 test_string_fcn (book,
"Id", gncVendorSetID, gncVendorGetID);
89 test_string_fcn (book,
"Name", gncVendorSetName, gncVendorGetName);
90 test_string_fcn (book,
"Notes", gncVendorSetNotes, gncVendorGetNotes);
95 test_bool_fcn (book,
"Active", gncVendorSetActive, gncVendorGetActive);
97 do_test (gncVendorGetAddr (vendor) != NULL,
"Addr");
100 vendor = gncVendorCreate (book);
102 gncVendorSetGUID (vendor, &guid);
109 do_test (list != NULL,
"getList all");
110 do_test (g_list_length (list) == count,
"correct length: all");
114 do_test (list != NULL,
"getList active");
115 do_test (g_list_length (list) == 1,
"correct length: active");
119 const char *str = get_random_string();
122 gncVendorSetName (vendor, str);
124 do_test (res != NULL,
"Printable NULL?");
125 do_test (g_strcmp0 (str, res) == 0,
"Printable equals");
132 test_string_fcn (
QofBook *book,
const char *message,
133 void (*set) (
GncVendor *,
const char *str),
136 GncVendor *vendor = gncVendorCreate (book);
137 char const *str = get_random_string ();
139 do_test (!gncVendorIsDirty (vendor),
"test if start dirty");
140 gncVendorBeginEdit (vendor);
143 do_test (gncVendorIsDirty (vendor),
"test dirty later");
144 gncVendorCommitEdit (vendor);
151 do_test (g_strcmp0 (
get (vendor), str) == 0, message);
152 gncVendorSetActive (vendor, FALSE);
158 test_numeric_fcn (
QofBook *book,
const char *message,
162 GncVendor *vendor = gncVendorCreate (book);
165 do_test (!gncVendorIsDirty (vendor),
"test if start dirty");
166 gncVendoryBeginEdit (vendor);
169 do_test (gncVendorIsDirty (vendor),
"test dirty later");
170 gncVendorCommitEdit (vendor);
178 gncVendorSetActive (vendor, FALSE);
184 test_bool_fcn (
QofBook *book,
const char *message,
188 GncVendor *vendor = gncVendorCreate (book);
189 gboolean num = get_random_boolean ();
191 do_test (!gncVendorIsDirty (vendor),
"test if start dirty");
192 gncVendorBeginEdit (vendor);
197 do_test (gncVendorIsDirty (vendor),
"test dirty later");
198 gncVendorCommitEdit (vendor);
205 do_test (
get (vendor) == num, message);
206 gncVendorSetActive (vendor, FALSE);
212 test_gint_fcn (
QofBook *book,
const char *message,
216 GncVendor *vendor = gncVendorCreate (book);
219 do_test (!gncVendorIsDirty (vendor),
"test if start dirty");
220 gncVendorBeginEdit (vendor);
223 do_test (gncVendorIsDirty (vendor),
"test dirty later");
224 gncVendorCommitEdit (vendor);
231 do_test (
get (vendor) == num, message);
232 gncVendorSetActive (vendor, FALSE);
238 main (
int argc,
char **argv)
241 do_test (gncInvoiceRegister(),
"Cannot register GncInvoice");
242 do_test (gncJobRegister (),
"Cannot register GncJob");
243 do_test (gncCustomerRegister(),
"Cannot register GncCustomer");
244 do_test (gncVendorRegister(),
"Cannot register GncVendor");
246 print_test_results();
void guid_replace(GncGUID *guid)
gboolean gnc_numeric_equal(gnc_numeric a, gnc_numeric b)
const GncGUID * qof_instance_get_guid(gconstpointer)
QofBook * qof_instance_get_book(gconstpointer)
QofBook * qof_book_new(void)
gboolean guid_equal(const GncGUID *guid_1, const GncGUID *guid_2)
void qof_close(void)
Safely close down the Query Object Framework.
GList * gncBusinessGetList(QofBook *book, QofIdTypeConst type_name, gboolean all_including_inactive)
const char * qof_object_printable(QofIdTypeConst type_name, gpointer instance)
void qof_init(void)
Initialise the Query Object Framework.
void qof_book_destroy(QofBook *book)