test_reading.c (1465B)
1 #include "test_reading.h" 2 3 void test_reading_readall() 4 { 5 char* read; 6 size_t n = readall(&read, "testfile1.txt"); 7 8 CU_ASSERT(n == 49); 9 CU_ASSERT(strcmp(read, "Hello, this is a test file.\nIt contains two rows.") == 0); 10 11 free(read); 12 } 13 14 void test_reading_readlines() 15 { 16 char** read; 17 size_t n = readlines(&read, "testfile1.txt"); 18 19 CU_ASSERT(n == 2); 20 CU_ASSERT(strcmp(read[0], "Hello, this is a test file.\n") == 0); 21 CU_ASSERT(strcmp(read[1], "It contains two rows.") == 0); 22 23 size_t i; 24 for(i = 0; i < n; i++) free(read[i]); 25 free(read); 26 } 27 28 void test_reading_read_next_u64() 29 { 30 FILE* fp = fopen("testfile2.txt", "r"); 31 32 uint64_t r; 33 CU_ASSERT(read_next_u64(&r, fp) == 4); 34 CU_ASSERT(r == 4711); 35 CU_ASSERT(read_next_u64(&r, fp) == 2); 36 CU_ASSERT(r == 65); 37 CU_ASSERT(read_next_u64(&r, fp) == 4); 38 CU_ASSERT(r == 1337); 39 CU_ASSERT(read_next_u64(&r, fp) == 1); 40 CU_ASSERT(r == 1); 41 CU_ASSERT(read_next_u64(&r, fp) == 1); 42 CU_ASSERT(r == 0); 43 44 fclose(fp); 45 } 46 47 void test_reading_sread_next_u64() 48 { 49 char tst[] = "foobarm4711asd65,1337.1\n0"; 50 char* n = tst; 51 uint64_t r; 52 53 CU_ASSERT((n = sread_next_u64(&r, n)) != NULL); 54 CU_ASSERT(r == 4711); 55 CU_ASSERT((n = sread_next_u64(&r, n)) != NULL); 56 CU_ASSERT(r == 65); 57 CU_ASSERT((n = sread_next_u64(&r, n)) != NULL); 58 CU_ASSERT(r == 1337); 59 CU_ASSERT((n = sread_next_u64(&r, n)) != NULL); 60 CU_ASSERT(r == 1); 61 CU_ASSERT((n = sread_next_u64(&r, n)) == NULL); 62 CU_ASSERT(r == 0); 63 }