18#include "TrimSequence.h"
25int main(
int argc,
const char **argv)
28 std::string::iterator result;
33 test =
"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
34 result = trimSequence(test,
'A',
true);
35 assert(result == test.begin());
37 test =
"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
38 result = trimSequence(test,
'~',
true);
39 assert(result == test.end());
41 test =
"AAAAABCDEFGHIJKLMNOPQRSTUVWXYZ";
42 result = trimSequence(test,
'B',
true);
43 assert(result == (test.begin() + 5));
45 test =
"AAAAAAAABCDEFGHIJKLMNOPQRSTUVWXYZ";
46 result = trimSequence(test,
'B',
true);
47 assert(result == (test.begin() + 8));
49 test =
"AAAAAAAABCDEFGHIJKLMNOPQRSTUVWXYZ";
50 result = trimSequence(test,
'F',
true);
51 assert(result == (test.begin() + 12));
53 test =
"AAAAAAAABCDEFGHIJKLMNOPQRSTUVWXYZ";
54 result = trimSequence(test,
'@',
true);
55 assert(result == (test.begin() + 0));
57 test =
"AAAAAAAABCDEFGHIJKLMNOPQRSTUVWXYZ";
58 result = trimSequence(test,
'@',
true);
59 assert(result == (test.begin() + 0));
61 test =
"AAAFAAAABCDEFGHIJKLMNOPQRSTUVWXYZ";
62 result = trimSequence(test,
'F',
true);
63 assert(result == (test.begin() + 12));
66 test =
"AAAFAAAABCDEFG";
67 result = trimSequence(test,
'F',
true);
68 assert(result == (test.begin() + 12));
73 test =
"ZYXWVUTSRQPONMLKJIHGFEDCBA";
74 result = trimSequence(test,
'A',
false);
75 assert(result == test.end());
77 test =
"ZYXWVUTSRQPONMLKJIHGFEDCBA";
78 result = trimSequence(test,
'~',
false);
79 assert(result == test.begin());
81 test =
"ZYXWVUTSRQPONMLKJIHGFEDCBAAAAA";
82 result = trimSequence(test,
'B',
false);
83 assert(result == (test.end() - 5));
85 test =
"ZYXWVUTSRQPONMLKJIHGFEDCBAAAAAAA";
86 result = trimSequence(test,
'B',
false);
87 assert(result == (test.end() - 7));
89 test =
"ZYXWVUTSRQPONMLKJIHGFEDCBAAAAAAAA";
90 result = trimSequence(test,
'F',
false);
91 assert(result == (test.end() - 12));
93 test =
"ZYXWVUTSRQPONMLKJIHGFEDCBAAAAAAAA";
94 result = trimSequence(test,
'@',
false);
95 assert(result == (test.end() + 0));
97 test =
"ZYXWVUTSRQPONMLKJIHGFEDCBAAAAFAAA";
98 result = trimSequence(test,
'F',
false);
99 assert(result == (test.end() - 12));
101 test =
"#################################";
102 result = trimSequence(test,
'F',
false);
103 assert(result == (test.begin()));
107 test =
">BC@>28B==>=><?@=?>@8(>0309261/;6=@";
108 result = trimSequence(test,
'0',
false);
109 assert(result == (test.end())-5);