]> git.donarmstrong.com Git - biopieces.git/blob - code_c/Maasha/src/test/test_strings.c
add bipartite_decode
[biopieces.git] / code_c / Maasha / src / test / test_strings.c
1 #include "common.h"
2 #include "strings.h"
3
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();
9
10
11 /*
12  if ((foo_c = malloc(strlen(foo) + 1)) == NULL)
13                     return errno;
14 */
15
16
17 int main()
18 {
19     fprintf( stderr, "Running all tests for strings.c\n" );
20
21     test_chop();
22     test_chomp();
23     test_strchr_total();
24     test_match_substr();
25     test_match_substr_rev();
26
27     fprintf( stderr, "Done\n\n" );
28
29     return EXIT_SUCCESS;
30 }
31
32
33 static void test_chop()
34 {
35     char test[] = "ABCDE";
36
37     fprintf( stderr, "   Testing chop ... " );
38
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 );
44
45     fprintf( stderr, "OK\n" );
46 }
47
48
49 static void test_chomp()
50 {
51     char test[] = "AB\nCDE\n\n\n";
52
53     fprintf( stderr, "   Testing chomp ... " );
54
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 );
60
61     fprintf( stderr, "OK\n" );
62 }
63
64
65 static void test_strchr_total()
66 {
67     fprintf( stderr, "   Testing strchr_total ... " );
68
69     char *str = "X-----X----X";
70
71     assert( strchr_total( str, 'X' ) == 3 );
72     assert( strchr_total( str, '-' ) == 9 );
73
74     fprintf( stderr, "OK\n" );
75 }
76
77
78 static void test_match_substr()
79 {
80     fprintf( stderr, "   Testing match_substr ... " );
81
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 );
90
91     fprintf( stderr, "OK\n" );
92 }
93
94
95 static void test_match_substr_rev()
96 {
97     fprintf( stderr, "   Testing match_substr_rev ... " );
98
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 );
110
111     fprintf( stderr, "OK\n" );
112 }