diff options
Diffstat (limited to 'tests/nl_tax_tests.cpp')
| -rw-r--r-- | tests/nl_tax_tests.cpp | 68 |
1 files changed, 20 insertions, 48 deletions
diff --git a/tests/nl_tax_tests.cpp b/tests/nl_tax_tests.cpp index 20d70c8..0fce093 100644 --- a/tests/nl_tax_tests.cpp +++ b/tests/nl_tax_tests.cpp @@ -4,22 +4,23 @@ TEST _nl_tax_1a(void) { administration::create_default(test_file_path); administration::company_info_set(_create_nl_business()); + add_default_nl_tax_rates(); invoice inv = _create_nl_b2b_inv_outgoing(); - administration::billing_item_add_to_invoice(&inv, _create_bi(1, 20.0f, "NL/21.00")); - administration::billing_item_add_to_invoice(&inv, _create_bi(1, 30.0f, "NL/21.00")); + administration::billing_item_add_to_invoice(&inv, _create_bi(1, 20.0f, "NL/21")); + administration::billing_item_add_to_invoice(&inv, _create_bi(1, 30.0f, "NL/21")); ASSERT_EQ(administration::invoice_add(&inv), A_ERR_SUCCESS); tax_statement statement; administration::create_tax_statement(&statement); ASSERT_EQ(statement.report_count, 1); - tax_line* tl = administration::get_tax_line_from_report(&statement.reports[0], "1a"); + tax_line* tl = administration::get_tax_line_from_report(&statement.reports[0], "NL/1a"); ASSERT_EQ(tl->total_net, 50.0f); ASSERT_EQ(tl->total_tax, 50.0f * 0.21f); - tax_line* tl2 = administration::get_tax_line_from_report(&statement.reports[0], "5a"); + tax_line* tl2 = administration::get_tax_line_from_report(&statement.reports[0], "NL/5a"); ASSERT_EQ(tl2->total_tax, 50.0f * 0.21f); PASS(); @@ -29,78 +30,49 @@ TEST _nl_tax_1b(void) { administration::create_default(test_file_path); administration::company_info_set(_create_nl_business()); + add_default_nl_tax_rates(); invoice inv = _create_nl_b2b_inv_outgoing(); - administration::billing_item_add_to_invoice(&inv, _create_bi(1, 10.0f, "NL/9.00")); - administration::billing_item_add_to_invoice(&inv, _create_bi(1, 15.0f, "NL/9.00")); + administration::billing_item_add_to_invoice(&inv, _create_bi(1, 10.0f, "NL/9")); + administration::billing_item_add_to_invoice(&inv, _create_bi(1, 15.0f, "NL/9")); ASSERT_EQ(administration::invoice_add(&inv), A_ERR_SUCCESS); tax_statement statement; administration::create_tax_statement(&statement); ASSERT_EQ(statement.report_count, 1); - tax_line* tl = administration::get_tax_line_from_report(&statement.reports[0], "1b"); + tax_line* tl = administration::get_tax_line_from_report(&statement.reports[0], "NL/1b"); ASSERT_EQ(tl->total_net, 25.0f); ASSERT_EQ(tl->total_tax, 25.0f * 0.09f); - tax_line* tl2 = administration::get_tax_line_from_report(&statement.reports[0], "5a"); + tax_line* tl2 = administration::get_tax_line_from_report(&statement.reports[0], "NL/5a"); ASSERT_EQ(tl2->total_tax, 25.0f * 0.09f); PASS(); } -TEST _nl_tax_1c(void) -{ - administration::create_default(test_file_path); - administration::company_info_set(_create_nl_business()); - - tax_rate new_tax_rate = administration::tax_rate_create_empty(); - new_tax_rate.rate = 5.0f; - strops::copy(new_tax_rate.category_code, "S", MAX_LEN_CODE); - strops::copy(new_tax_rate.country_code, "NL", MAX_LEN_COUNTRY_CODE); - administration::tax_rate_add(new_tax_rate); - - invoice inv = _create_nl_b2b_inv_outgoing(); - - administration::billing_item_add_to_invoice(&inv, _create_bi(1, 30.0f, "NL/5.00")); - administration::billing_item_add_to_invoice(&inv, _create_bi(1, 15.0f, "NL/5.00")); - ASSERT_EQ(administration::invoice_add(&inv), A_ERR_SUCCESS); - - tax_statement statement; - administration::create_tax_statement(&statement); - ASSERT_EQ(statement.report_count, 1); - - tax_line* tl = administration::get_tax_line_from_report(&statement.reports[0], "1c"); - ASSERT_EQ(tl->total_net, 45.0f); - ASSERT_EQ(tl->total_tax, 45.0f * 0.05f); - - tax_line* tl2 = administration::get_tax_line_from_report(&statement.reports[0], "5a"); - ASSERT_EQ(tl2->total_tax, 45.0f * 0.05f); - - PASS(); -} - TEST _nl_tax_1e(void) { administration::create_default(test_file_path); administration::company_info_set(_create_nl_business()); + add_default_nl_tax_rates(); invoice inv = _create_nl_b2b_inv_outgoing(); - administration::billing_item_add_to_invoice(&inv, _create_bi(1, 30.0f, "00/E")); - administration::billing_item_add_to_invoice(&inv, _create_bi(1, 50.0f, "00/E")); + administration::billing_item_add_to_invoice(&inv, _create_bi(1, 30.0f, "NL/0")); + administration::billing_item_add_to_invoice(&inv, _create_bi(1, 50.0f, "NL/0")); ASSERT_EQ(administration::invoice_add(&inv), A_ERR_SUCCESS); tax_statement statement; administration::create_tax_statement(&statement); ASSERT_EQ(statement.report_count, 1); - tax_line* tl = administration::get_tax_line_from_report(&statement.reports[0], "1e"); + tax_line* tl = administration::get_tax_line_from_report(&statement.reports[0], "NL/1e"); ASSERT_EQ(tl->total_net, 80.0f); ASSERT_EQ(tl->total_tax, 0.0f); - tax_line* tl2 = administration::get_tax_line_from_report(&statement.reports[0], "5a"); + tax_line* tl2 = administration::get_tax_line_from_report(&statement.reports[0], "NL/5a"); ASSERT_EQ(tl2->total_tax, 0.0f); PASS(); @@ -110,12 +82,13 @@ TEST _nl_tax_2currency(void) { administration::create_default(test_file_path); administration::company_info_set(_create_nl_business()); + add_default_nl_tax_rates(); invoice inv = _create_nl_b2b_inv_outgoing(); administration::invoice_set_currency(&inv, "USD"); - administration::billing_item_add_to_invoice(&inv, _create_bi(1, 20.0f, "NL/21.00")); - administration::billing_item_add_to_invoice(&inv, _create_bi(1, 30.0f, "NL/21.00")); + administration::billing_item_add_to_invoice(&inv, _create_bi(1, 20.0f, "NL/21")); + administration::billing_item_add_to_invoice(&inv, _create_bi(1, 30.0f, "NL/21")); float eur_usd_exchange_rate = 1.2f; @@ -130,11 +103,11 @@ TEST _nl_tax_2currency(void) administration::create_tax_statement(&statement); ASSERT_EQ(statement.report_count, 1); - tax_line* tl = administration::get_tax_line_from_report(&statement.reports[0], "1a"); + tax_line* tl = administration::get_tax_line_from_report(&statement.reports[0], "NL/1a"); GREATEST_ASSERT_FEQ(tl->total_net, inv.net); GREATEST_ASSERT_FEQ(tl->total_tax, inv.tax); - tax_line* tl2 = administration::get_tax_line_from_report(&statement.reports[0], "5a"); + tax_line* tl2 = administration::get_tax_line_from_report(&statement.reports[0], "NL/5a"); GREATEST_ASSERT_FEQ(tl2->total_tax, inv.tax); PASS(); @@ -143,7 +116,6 @@ TEST _nl_tax_2currency(void) SUITE(nl_tax_statement) { RUN_TEST(_nl_tax_1a); RUN_TEST(_nl_tax_1b); - RUN_TEST(_nl_tax_1c); RUN_TEST(_nl_tax_1e); RUN_TEST(_nl_tax_2currency); }
\ No newline at end of file |
