4 static void test_chop();
5 static void test_chomp();
6 static void test_strchr_total();
7 static void test_match_substr();
8 static void test_match_substr_rev();
12 if ((foo_c = malloc(strlen(foo) + 1)) == NULL)
19 fprintf( stderr, "Running all tests for strings.c\n" );
25 test_match_substr_rev();
27 fprintf( stderr, "Done\n\n" );
33 static void test_chop()
35 char test[] = "ABCDE";
37 fprintf( stderr, " Testing chop ... " );
39 assert( chop( test ) == 4 );
40 assert( chop( test ) == 3 );
41 assert( chop( test ) == 2 );
42 assert( chop( test ) == 1 );
43 assert( chop( test ) == 0 );
45 fprintf( stderr, "OK\n" );
49 static void test_chomp()
51 char test[] = "AB\nCDE\n\n\n";
53 fprintf( stderr, " Testing chomp ... " );
55 assert( chomp( test ) == 8 );
56 assert( chomp( test ) == 7 );
57 assert( chomp( test ) == 6 );
58 assert( chomp( test ) == -1 );
59 assert( chomp( test ) == -1 );
61 fprintf( stderr, "OK\n" );
65 static void test_strchr_total()
67 fprintf( stderr, " Testing strchr_total ... " );
69 char *str = "X-----X----X";
71 assert( strchr_total( str, 'X' ) == 3 );
72 assert( strchr_total( str, '-' ) == 9 );
74 fprintf( stderr, "OK\n" );
78 static void test_match_substr()
80 fprintf( stderr, " Testing match_substr ... " );
82 assert( match_substr( 0, "MARTIN", 6, "TXN", 3, 0 ) == -1 );
83 assert( match_substr( 0, "MARTIN", 6, "TIN", 3, 0 ) == 3 );
84 assert( match_substr( 0, "MARTIN", 6, "TXN", 3, 1 ) == 3 );
85 assert( match_substr( 0, "MARTIN", 6, "MXR", 3, 0 ) == -1 );
86 assert( match_substr( 0, "MARTIN", 6, "MXR", 3, 1 ) == 0 );
87 assert( match_substr( 1, "MARTIN", 6, "MXR", 3, 1 ) == -1 );
88 assert( match_substr( 5, "MARTIN", 6, "N", 1, 0 ) == 5 );
89 assert( match_substr( 0, "M", 1, "M", 1, 0 ) == 0 );
91 fprintf( stderr, "OK\n" );
95 static void test_match_substr_rev()
97 fprintf( stderr, " Testing match_substr_rev ... " );
99 assert( match_substr_rev( 0, "MARTIN", 6, "TXN", 3, 0 ) == -1 );
100 assert( match_substr_rev( 0, "MARTIN", 6, "TIN", 3, 0 ) == 3 );
101 assert( match_substr_rev( 2, "MARTIN", 6, "TIN", 3, 0 ) == -1 );
102 assert( match_substr_rev( 0, "MARTIN", 6, "MAR", 3, 0 ) == 0 );
103 assert( match_substr_rev( 3, "MARTIN", 6, "MAR", 3, 0 ) == 0 );
104 assert( match_substr_rev( 4, "MARTIN", 6, "MAR", 3, 0 ) == -1 );
105 assert( match_substr_rev( 0, "MARTIN", 6, "TXN", 3, 1 ) == 3 );
106 assert( match_substr_rev( 0, "MARTIN", 6, "MXR", 3, 1 ) == 0 );
107 assert( match_substr_rev( 4, "MARTIN", 6, "MXR", 3, 1 ) == -1 );
108 assert( match_substr_rev( 5, "MARTIN", 6, "M", 1, 0 ) == 0 );
109 assert( match_substr_rev( 0, "M", 1, "M", 1, 0 ) == 0 );
111 fprintf( stderr, "OK\n" );