diff options
| author | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-09-14 20:58:24 +0200 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-09-14 20:58:24 +0200 |
| commit | a651d8e951ab35677af468b03a4bb02decbc105b (patch) | |
| tree | c0aa15ce2ed318ec046e20c9f18a40d5e90b81b9 /tests | |
| parent | 76d3082e5b89fe54acaaaaadd201ccc92f4f346e (diff) | |
reader writer tests for projects, costcenters, tax brackets, contacts
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/run_tests.cpp | 57 |
1 files changed, 47 insertions, 10 deletions
diff --git a/tests/run_tests.cpp b/tests/run_tests.cpp index 65ae47c..e9092a6 100644 --- a/tests/run_tests.cpp +++ b/tests/run_tests.cpp @@ -12,8 +12,18 @@ char* test_file_path = "C:\\Users\\aldri\\Desktop\\Vault\\Projects\\accounting\\build\\test.openbook"; -TEST _administration_rw_taxbrackets(void) -{ +static void setup_cb(void *data) { + (void)data; + unlink(test_file_path); +} + +static void teardown_cb(void *data) { + (void)data; + unlink(test_file_path); +} + +TEST _administration_rw_taxbracket(void) +{ country_tax_bracket pw; country_tax_bracket pr; u32 count; @@ -43,8 +53,6 @@ TEST _administration_rw_taxbrackets(void) ASSERT_EQ(pr.rate, pw.rate); } - unlink(test_file_path); - PASS(); } @@ -77,8 +85,6 @@ TEST _administration_rw_costcenter(void) ASSERT_STR_EQ(pr.description, pw.description); } - unlink(test_file_path); - PASS(); } @@ -86,6 +92,7 @@ TEST _administration_rw_project(void) { project pw; project pr; + u32 count; administration_writer_create(); @@ -93,28 +100,58 @@ TEST _administration_rw_project(void) { pw = administration_project_create_empty(); strops_copy(pw.description, "Test Project", sizeof(pw.description)); + count = administration_project_count(); administration_project_add(pw); - ASSERT_EQ(1, administration_project_count()); + ASSERT_EQ(count+1, administration_project_count()); } administration_reader_open_existing(test_file_path); { - ASSERT_EQ(1, administration_project_count()); + ASSERT_EQ(count+1, administration_project_count()); ASSERT_EQ(1, administration_project_get_by_id(&pr, pw.id)); ASSERT_STR_EQ(pr.id, pw.id); ASSERT_STR_EQ(pr.description, pw.description); } - unlink(test_file_path); + PASS(); +} + +TEST _administration_rw_contact(void) +{ + contact pw; + contact pr; + u32 count; + + administration_writer_create(); + + administration_create_empty(test_file_path); + { + pw = administration_contact_create_empty(); + count = administration_contact_count(); + administration_contact_add(pw); + + ASSERT_EQ(count+1, administration_contact_count()); + } + + administration_reader_open_existing(test_file_path); + { + ASSERT_EQ(count+1, administration_contact_count()); + ASSERT_EQ(1, administration_contact_get_by_id(&pr, pw.id)); + ASSERT_STR_EQ(pr.id, pw.id); + } PASS(); } SUITE(administration_io) { - RUN_TEST(_administration_rw_taxbrackets); + SET_SETUP(setup_cb, NULL); + SET_TEARDOWN(teardown_cb, NULL); + + RUN_TEST(_administration_rw_taxbracket); RUN_TEST(_administration_rw_costcenter); RUN_TEST(_administration_rw_project); + RUN_TEST(_administration_rw_contact); } GREATEST_MAIN_DEFS(); |
