TrimSequence.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "TrimSequence.h"
00019
00020 #if defined(TEST)
00021
00022 #include <assert.h>
00023 #include <iostream>
00024 #include <stdlib.h>
00025 #include <string>
00026
00027 int main(int argc, const char **argv)
00028 {
00029 std::string test;
00030 std::string::iterator result;
00031
00032
00033
00034
00035 test = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
00036 result = trimSequence(test, 'A', true);
00037 assert(result == test.begin());
00038
00039 test = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
00040 result = trimSequence(test, '~', true);
00041 assert(result == test.end());
00042
00043 test = "AAAAABCDEFGHIJKLMNOPQRSTUVWXYZ";
00044 result = trimSequence(test, 'B', true);
00045 assert(result == (test.begin() + 5));
00046
00047 test = "AAAAAAAABCDEFGHIJKLMNOPQRSTUVWXYZ";
00048 result = trimSequence(test, 'B', true);
00049 assert(result == (test.begin() + 8));
00050
00051 test = "AAAAAAAABCDEFGHIJKLMNOPQRSTUVWXYZ";
00052 result = trimSequence(test, 'F', true);
00053 assert(result == (test.begin() + 12));
00054
00055 test = "AAAAAAAABCDEFGHIJKLMNOPQRSTUVWXYZ";
00056 result = trimSequence(test, '@', true);
00057 assert(result == (test.begin() + 0));
00058
00059 test = "AAAAAAAABCDEFGHIJKLMNOPQRSTUVWXYZ";
00060 result = trimSequence(test, '@', true);
00061 assert(result == (test.begin() + 0));
00062
00063 test = "AAAFAAAABCDEFGHIJKLMNOPQRSTUVWXYZ";
00064 result = trimSequence(test, 'F', true);
00065 assert(result == (test.begin() + 12));
00066
00067
00068 test = "AAAFAAAABCDEFG";
00069 result = trimSequence(test, 'F', true);
00070 assert(result == (test.begin() + 12));
00071
00072
00073
00074
00075 test = "ZYXWVUTSRQPONMLKJIHGFEDCBA";
00076 result = trimSequence(test, 'A', false);
00077 assert(result == test.end());
00078
00079 test = "ZYXWVUTSRQPONMLKJIHGFEDCBA";
00080 result = trimSequence(test, '~', false);
00081 assert(result == test.begin());
00082
00083 test = "ZYXWVUTSRQPONMLKJIHGFEDCBAAAAA";
00084 result = trimSequence(test, 'B', false);
00085 assert(result == (test.end() - 5));
00086
00087 test = "ZYXWVUTSRQPONMLKJIHGFEDCBAAAAAAA";
00088 result = trimSequence(test, 'B', false);
00089 assert(result == (test.end() - 7));
00090
00091 test = "ZYXWVUTSRQPONMLKJIHGFEDCBAAAAAAAA";
00092 result = trimSequence(test, 'F', false);
00093 assert(result == (test.end() - 12));
00094
00095 test = "ZYXWVUTSRQPONMLKJIHGFEDCBAAAAAAAA";
00096 result = trimSequence(test, '@', false);
00097 assert(result == (test.end() + 0));
00098
00099 test = "ZYXWVUTSRQPONMLKJIHGFEDCBAAAAFAAA";
00100 result = trimSequence(test, 'F', false);
00101 assert(result == (test.end() - 12));
00102
00103 test = "#################################";
00104 result = trimSequence(test, 'F', false);
00105 assert(result == (test.begin()));
00106
00107 #if 0
00108
00109 test = ">BC@>28B==>=><?@=?>@8(>0309261/;6=@";
00110 result = trimSequence(test, '0', false);
00111 assert(result == (test.end())-5);
00112 #endif
00113
00114 exit(0);
00115 }
00116
00117 #endif