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