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