Go to the source code of this file.
Functions | |
string | parse_format (const string &prefix_, vector< string > &vs_) |
string | parse_seq_number (const string &name_, const string &prefix_) |
string | format_seqnum (int seqnum_, const string &fmt_) |
string | make_name_with_offset (const string &name_, const string &fmt_, const string &prefix_, const string &dirpath_, int offset_) |
string | make_prev_name (const string &name_, const string &fmt_, const string &prefix_, const string &dirpath_) |
string | make_next_name (const string &name_, const string &fmt_, const string &prefix_, const string &dirpath_) |
int | main () |
Variables | |
const char * | list [] |
const char * | list_non_uniform_format [] |
const char * | list_with_gaps [] |
const char * | list_bad_format [] |
|
Definition at line 124 of file test.cpp. Referenced by main, and make_name_with_offset.
00125 { 00126 char buf [PATH_MAX]; 00127 00128 snprintf (buf, PATH_MAX, fmt_.c_str (), seqnum_); 00129 return string (buf); 00130 } |
|
Definition at line 212 of file test.cpp. References format_seqnum, list, list_bad_format, list_non_uniform_format, list_with_gaps, make_name_with_offset, make_prev_name, parse_format, and parse_seq_number.
00213 { 00214 int i; 00215 string format; 00216 vector<string> v; 00217 00218 cout << '\n' << "Testing parse_format() ..."; 00219 00220 i = 0; 00221 while (list [i]) { v.push_back (list [i++]); } 00222 00223 format = parse_format ("ru_", v); 00224 if (format != "%03d") { 00225 cout << "failed valid list\n"; 00226 cout << "(expected \"%03\", returned \"" << format << "\"\n\n"; 00227 return 1; 00228 } 00229 00230 v.clear (); 00231 i = 0; 00232 while (list_with_gaps [i]) { v.push_back (list_with_gaps [i++]); } 00233 00234 format = parse_format ("ru_", v); 00235 if (format != "%03d") { 00236 cout << "failed list with gaps\n"; 00237 return 1; 00238 } 00239 00240 v.clear (); 00241 i = 0; 00242 while (list_non_uniform_format [i]) { 00243 v.push_back (list_non_uniform_format [i++]); 00244 } 00245 00246 format = parse_format ("ru_", v); 00247 if (format != "%d") { 00248 cout << "failed list with non-uniform format\n"; 00249 cout << "(expected \"\", returned \"" << format << "\"\n\n"; 00250 return 1; 00251 } 00252 v.clear (); 00253 00254 i = 0; 00255 while (list_bad_format [i]) { 00256 v.push_back (list_bad_format [i++]); 00257 } 00258 00259 format = parse_format ("ru_", v); 00260 if (format != "") { 00261 cout << "failed list with bad format\n"; 00262 cout << "(expected \"\", returned \"" << format << "\"\n\n"; 00263 return 1; 00264 } 00265 cout << "ok\n"; 00266 00267 cout << "\nTesting parse_seq_num() "; 00268 string res; 00269 string name; 00270 name = "ru_00034.wav"; 00271 res = parse_seq_number (name, "ru_"); 00272 if (res != "00034") { 00273 cout << "failed (expected \"00034\", returned \"" << res << "\"\n\n"; 00274 return 1; 00275 } 00276 res = parse_seq_number (name, "en_"); 00277 if (res != "") { 00278 cout << "failed (expected \"\", returned \"" << res << "\"\n\n"; 00279 return 1; 00280 } 00281 name = "ru_0999"; 00282 res = parse_seq_number (name, "ru_"); 00283 if (res != "") { 00284 cout << "failed (expected \"\", returned \"" << res << "\"\n\n"; 00285 return 1; 00286 } 00287 name = "ru_0999.wav"; 00288 res = parse_seq_number (name, "ru_"); 00289 if (res != "0999") { 00290 cout << "failed (expected \"0999\", returned \"" << res << "\"\n\n"; 00291 return 1; 00292 } 00293 cout << "ok\n"; 00294 00295 cout << "\nTesting format_seqnum () "; 00296 res = format_seqnum (54, "%03d"); 00297 if (res != "054") { 00298 cout << "failed (expected \"054\", returned \"" << res << "\"\n\n"; 00299 return 1; 00300 } 00301 00302 res = format_seqnum (54, "%d"); 00303 if (res != "54") { 00304 cout << "failed (expected \"54\", returned \"" << res << "\"\n\n"; 00305 return 1; 00306 } 00307 cout << "ok\n"; 00308 00309 cout << "\nTesting make_name_with_offset () "; 00310 string dirpath ("/English/Test/"); 00311 format = "%04d"; 00312 name = "ru_0999.wav"; 00313 res = make_name_with_offset (name, format, "ru_", dirpath, 0); 00314 00315 if (res != dirpath + "ru_0999.wav") { 00316 cout << "failed\n\t(expected \"/English/Test/ru_0999.wav\"" 00317 << ", returned \"" << res << "\")\n\n"; 00318 return 1; 00319 } 00320 cout << "ok\n"; 00321 00322 cout << "\nTesting make_prev_name () "; 00323 res = make_prev_name (name, format, "ru_", dirpath); 00324 if (res != dirpath + "ru_0998.wav") { 00325 cout << "failed\n\t(expected \"/English/Test/ru_0998.wav\"" 00326 << ", returned \"" << res << "\")\n\n"; 00327 return 1; 00328 } 00329 res.erase (0, dirpath.length ()); 00330 name = res; 00331 res = make_prev_name (name, format, "ru_", dirpath); 00332 if (res != dirpath + "ru_0997.wav") { 00333 cout << "failed\n\t(expected \"/English/Test/ru_0997.wav\"" 00334 << ", returned \"" << res << "\")\n\n"; 00335 return 1; 00336 } 00337 cout << "ok\n"; 00338 00339 cout << "\n"; 00340 } |
|
Definition at line 141 of file test.cpp. References format_seqnum, and parse_seq_number. Referenced by main, make_next_name, and make_prev_name.
00144 { 00145 string s (name_); 00146 string::size_type idx; 00147 00148 cout << '\n'; 00149 s = parse_seq_number (s, prefix_); 00150 cout << "\tparsed sequence number: " << s << '\n'; 00151 if (s.length () == 0) { 00152 return s; 00153 } 00154 return (dirpath_ + prefix_ 00155 + format_seqnum (atoi (s.c_str ()) + offset_, fmt_) 00156 + string (".wav")); 00157 } |
|
Definition at line 181 of file test.cpp. References make_name_with_offset. Referenced by ActionsMenu::shift.
00183 { 00184 return make_name_with_offset (name_, fmt_, prefix_, dirpath_, +1); 00185 } |
|
Definition at line 167 of file test.cpp. References make_name_with_offset. Referenced by main, and ActionsMenu::shift.
00169 { 00170 return make_name_with_offset (name_, fmt_, prefix_, dirpath_, -1); 00171 } |
|
Definition at line 38 of file test.cpp. References parse_seq_number. Referenced by main, and ActionsMenu::shift.
00039 { 00040 string ret; 00041 int i = 0; 00042 bool is_varlen = false; 00043 int len = 0; 00044 bool is_numeric = true; 00045 string name; 00046 00047 vector<string>::const_iterator cit = vs_.begin (); 00048 name = parse_seq_number (*cit, prefix_); 00049 00050 if ((len = name.length ()) == 0) { 00051 return ret; 00052 } 00053 00054 while (cit != vs_.end ()) { 00055 if (*cit != "gap") { 00056 name = parse_seq_number (*cit, prefix_); 00057 if (name.length () == 0) { 00058 return ret; 00059 } 00060 i = strtol (name.c_str (), (char **) NULL, 10); 00061 if (i == LONG_MIN || i == LONG_MAX) { 00062 is_numeric = false; 00063 break; 00064 } 00065 if (name.length () != len) { 00066 is_varlen = true; 00067 } 00068 } 00069 cit++; 00070 } 00071 if (is_numeric) { 00072 if (!is_varlen) { 00073 ostringstream os; 00074 os << "%0" << len << "d"; 00075 ret = os.str (); 00076 } 00077 else { 00078 ret = "%d"; 00079 } 00080 } 00081 return ret; 00082 } |
|
Definition at line 98 of file test.cpp. Referenced by main, make_name_with_offset, and parse_format.
00099 { 00100 string s (name_); 00101 string::size_type idx = string::npos; 00102 00103 if ((idx = s.find (prefix_)) == 0) { 00104 s.erase (0, prefix_.length ()); 00105 idx = s.find ('.'); 00106 if (idx != string::npos) { 00107 if (s.substr (idx) == ".wav") { 00108 s.replace (idx, name_.size (), ""); 00109 return s; 00110 } 00111 } 00112 } 00113 return (""); 00114 } |
|
Initial value: { "ru_001.wav", "ru_002.wav", "ru_003.wav", "ru_004.wav", "ru_005.wav", NULL } Definition at line 189 of file test.cpp. Referenced by main. |
|
Initial value: { "ru_001.wav", "en_002.wav", "ru_003.wav", "ru_004.wav", "", "ru_006.wav", NULL } Definition at line 204 of file test.cpp. Referenced by main. |
|
Initial value: { "ru_001.wav", "ru_2.wav", "ru_003.wav", "ru_004.wav", "ru_005.wav", NULL } Definition at line 194 of file test.cpp. Referenced by main. |
|
Initial value: { "ru_001.wav", "gap", "ru_003.wav", "ru_004.wav", "gap", "ru_006.wav", NULL } Definition at line 199 of file test.cpp. Referenced by main. |