]> git.donarmstrong.com Git - biopieces.git/blob - code_c/Maasha/src/test/test_strings.c
30d04b80225464376de3246dc33be190b74e81bb
[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_match_substr();
7 static void test_match_substr_rev();
8
9
10 /*
11  if ((foo_c = malloc(strlen(foo) + 1)) == NULL)
12                     return errno;
13 */
14
15
16 int main()
17 {
18     fprintf( stderr, "Running all tests for strings.c\n" );
19
20     test_chop();
21     test_chomp();
22     test_match_substr();
23     test_match_substr_rev();
24
25     fprintf( stderr, "Done\n\n" );
26
27     return EXIT_SUCCESS;
28 }
29
30
31 static void test_chop()
32 {
33     char test[] = "ABCDE";
34
35     fprintf( stderr, "   Testing chop ... " );
36
37     assert( chop( test ) == 4 );
38     assert( chop( test ) == 3 );
39     assert( chop( test ) == 2 );
40     assert( chop( test ) == 1 );
41     assert( chop( test ) == 0 );
42
43     fprintf( stderr, "OK\n" );
44 }
45
46
47 static void test_chomp()
48 {
49     char test[] = "AB\nCDE\n\n\n";
50
51     fprintf( stderr, "   Testing chomp ... " );
52
53     assert( chomp( test ) == 8 );
54     assert( chomp( test ) == 7 );
55     assert( chomp( test ) == 6 );
56     assert( chomp( test ) == -1 );
57     assert( chomp( test ) == -1 );
58
59     fprintf( stderr, "OK\n" );
60 }
61
62
63 static void test_match_substr()
64 {
65     fprintf( stderr, "   Testing match_substr ... " );
66
67     assert( match_substr( 0, "MARTIN", 6, "TXN", 3, 0 ) == -1 );
68     assert( match_substr( 0, "MARTIN", 6, "TIN", 3, 0 ) == 3 );
69     assert( match_substr( 0, "MARTIN", 6, "TXN", 3, 1 ) == 3 );
70     assert( match_substr( 0, "MARTIN", 6, "MXR", 3, 0 ) == -1 );
71     assert( match_substr( 0, "MARTIN", 6, "MXR", 3, 1 ) == 0 );
72     assert( match_substr( 1, "MARTIN", 6, "MXR", 3, 1 ) == -1 );
73     assert( match_substr( 5, "MARTIN", 6, "N", 1, 0 ) == 5 );
74     assert( match_substr( 0, "M", 1, "M", 1, 0 ) == 0 );
75
76     fprintf( stderr, "OK\n" );
77 }
78
79
80 static void test_match_substr_rev()
81 {
82     fprintf( stderr, "   Testing match_substr_rev ... " );
83
84     assert( match_substr_rev( 0, "MARTIN", 6, "TXN", 3, 0 ) == -1 );
85     assert( match_substr_rev( 0, "MARTIN", 6, "TIN", 3, 0 ) == 3 );
86     assert( match_substr_rev( 2, "MARTIN", 6, "TIN", 3, 0 ) == -1 );
87     assert( match_substr_rev( 0, "MARTIN", 6, "MAR", 3, 0 ) == 0 );
88     assert( match_substr_rev( 3, "MARTIN", 6, "MAR", 3, 0 ) == 0 );
89     assert( match_substr_rev( 4, "MARTIN", 6, "MAR", 3, 0 ) == -1 );
90     assert( match_substr_rev( 0, "MARTIN", 6, "TXN", 3, 1 ) == 3 );
91     assert( match_substr_rev( 0, "MARTIN", 6, "MXR", 3, 1 ) == 0 );
92     assert( match_substr_rev( 4, "MARTIN", 6, "MXR", 3, 1 ) == -1 );
93     assert( match_substr_rev( 5, "MARTIN", 6, "M", 1, 0 ) == 0 );
94     assert( match_substr_rev( 0, "M", 1, "M", 1, 0 ) == 0 );
95
96     fprintf( stderr, "OK\n" );
97 }