#include #include "../include/easycsv.h" static const char SAMPLE1_PATH[] = "samples/1.csv"; static const char SAMPLE2_PATH[] = "samples/2.csv"; START_TEST(test_easycsv_init_read_1) { easycsv *csv = NULL; csv = easycsv_init(SAMPLE1_PATH, EASYCSV_R); ck_assert_ptr_nonnull(csv); easycsv_free(csv); } START_TEST(test_easycsv_init_read_2) { easycsv *csv = NULL; csv = easycsv_init(SAMPLE2_PATH, EASYCSV_R); ck_assert_ptr_null(csv); easycsv_free(csv); } START_TEST(test_easycsv_init_write_1) { easycsv *csv = NULL; csv = easycsv_init(SAMPLE1_PATH, EASYCSV_W); ck_assert_ptr_nonnull(csv); easycsv_free(csv); } START_TEST(test_easycsv_init_write_2) { easycsv *csv = NULL; csv = easycsv_init(SAMPLE2_PATH, EASYCSV_W); ck_assert_ptr_nonnull(csv); easycsv_free(csv); } Suite* easycsv_constructor_suite(void) { Suite *s; TCase *tc_read, *tc_write; s = suite_create ("constructor"); tc_read = tcase_create ("read mode"); tc_write = tcase_create ("write mode"); tcase_add_test(tc_read, test_easycsv_init_read_1); tcase_add_test(tc_read, test_easycsv_init_read_2); tcase_add_test(tc_write, test_easycsv_init_write_1); tcase_add_test(tc_write, test_easycsv_init_write_2); suite_add_tcase(s, tc_read); //suite_add_tcase(s, tc_write); return s; } 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_read_suite(void) { Suite *s; TCase *tc_readcolumnvalue, *tc_col, *tc_row; s = suite_create ("read"); tc_readcolumnvalue = tcase_create ("readcolumnvalue"); tcase_add_test(tc_readcolumnvalue, test_easycsv_readcolumnvalue); tc_col = tcase_create ("columns"); tcase_add_test(tc_col, test_easycsv_printcolumns); tc_row = tcase_create ("rows"); tcase_add_test(tc_row, test_easycsv_printrows); suite_add_tcase(s, tc_readcolumnvalue); suite_add_tcase(s, tc_col); suite_add_tcase(s, tc_row); return s; } int main(void) { int number_failed; SRunner *sr; sr = srunner_create(easycsv_constructor_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; }