#include #include "../src/easycsv.h" static const char SAMPLE1_PATH[] = "samples/1.csv"; static const char SAMPLE2_PATH[] = "samples/2.csv"; START_TEST(test_easycsv_init_read) { easycsv *csv = NULL; csv = easycsv_init(SAMPLE1_PATH, EASYCSV_R); ck_assert_ptr_nonnull(csv); easycsv_free(csv); csv = easycsv_init(SAMPLE2_PATH, EASYCSV_R); ck_assert_ptr_nonnull(csv); easycsv_free(csv); } START_TEST(test_easycsv_init_write) { easycsv *csv = NULL; csv = easycsv_init(SAMPLE1_PATH, EASYCSV_W); ck_assert_ptr_nonnull(csv); easycsv_free(csv); csv = easycsv_init(SAMPLE2_PATH, EASYCSV_W); ck_assert_ptr_nonnull(csv); easycsv_free(csv); } START_TEST(test_easycsv_printcolumns) { easycsv *csv = easycsv_init(SAMPLE1_PATH, EASYCSV_R); ck_assert_int_eq(easycsv_printcolumns(csv), 3); easycsv_free(csv); } START_TEST(test_easycsv_printrows) { easycsv *csv = easycsv_init(SAMPLE1_PATH, EASYCSV_R); ck_assert_int_eq(easycsv_printrows(csv), 5); easycsv_free(csv); } START_TEST(test_easycsv_readcolumnvalue) { easycsv *csv = easycsv_init(SAMPLE1_PATH, EASYCSV_R); ck_assert_str_eq(easycsv_readcolumnvalue(csv, "TEST1", 1), "FILEPATHA1"); ck_assert_str_eq(easycsv_readcolumnvalue(csv, "TEST1", 2), "FILEPATHB1"); ck_assert_str_eq(easycsv_readcolumnvalue(csv, "TEST1", 3), NULL); ck_assert_str_eq(easycsv_readcolumnvalue(csv, "TEST2", 1), "FILEPATHA2"); easycsv_free(csv); } Suite* easycsv_constructor_suite(void) { Suite *s; TCase *tc_init; s = suite_create ("constructor"); tc_init = tcase_create ("basic constructor"); tcase_add_test(tc_init, test_easycsv_init_read); tcase_add_test(tc_init, test_easycsv_init_write); suite_add_tcase(s, tc_init); return s; } Suite* easycsv_print_suite(void) { Suite *s; TCase *tc_col, *tc_row; s = suite_create ("print"); tc_col = tcase_create ("columns"); tc_row = tcase_create ("rows"); tcase_add_test(tc_col, test_easycsv_printcolumns); tcase_add_test(tc_row, test_easycsv_printrows); suite_add_tcase(s, tc_col); suite_add_tcase(s, tc_row); return s; } Suite* easycsv_read_suite(void) { Suite *s; TCase *tc_readcolumnvalue; s = suite_create ("read"); tc_readcolumnvalue = tcase_create ("readcolumnvalue"); tcase_add_test(tc_readcolumnvalue, test_easycsv_readcolumnvalue); return s; } int main(void) { int number_failed; SRunner *sr; sr = srunner_create(easycsv_constructor_suite()); srunner_add_suite(sr, easycsv_print_suite()); srunner_add_suite(sr, easycsv_read_suite()); srunner_run_all(sr, CK_VERBOSE); number_failed = srunner_ntests_failed(sr); srunner_free(sr); return number_failed; }