196 | | int main() |
197 | | { |
198 | | //////////////////////////////////// LOADING //////////////////////////////// |
| 198 | // Non-general but simple file load - handles only files of limited |
| 199 | // size which do not contain '\0' characters, but for testing that |
| 200 | // should be enough. |
| 201 | string load_test_file(const char *fname) |
| 202 | { |
| 203 | char buffer[8192]; |
| 204 | memset(buffer, 0, sizeof(buffer)); |
| 205 | ifstream src(fname, ios_base::binary); |
| 206 | src.read(buffer, sizeof(buffer) - 1); |
| 207 | return string(buffer); |
| 208 | } |
| 209 | |
| 210 | TEST(test_load) |
| 211 | { |
200 | | Transport *pepikovo = UI::build<Transport>(in, "pepikovo"); |
201 | | cout << "pepikovo: " << pepikovo->to_string() << endl; |
202 | | Transport *jardovo = UI::build<Transport>(in, "jardovo"); |
203 | | cout << "jardovo: " << jardovo->to_string() << endl; |
204 | | Transport *ondrejovo = UI::build<Transport>(in, "ondrejovo"); |
205 | | cout << "ondrejovo: " << ondrejovo->to_string() << endl; |
206 | | Transport *elisky = UI::build<Transport>(in, "elisky"); |
207 | | cout << "elisky: " << elisky->to_string() << endl; |
208 | | Transport *kati = UI::build<Transport>(in, "kati"); |
209 | | cout << "kati: " << kati->to_string() << endl; |
210 | | cout << endl << "press any key to continue..." << endl; |
211 | | getchar(); |
212 | | |
213 | | /////////////////////////////////// SAVING ////////////////////////// |
| 213 | auto_ptr<Transport> pepikovo(UI::build<Transport>(in, "pepikovo")); |
| 214 | CHECK_EQUAL(string("A car made in 1998 by audi, having 25000 kilometers on the clock.The names of passengers are as follows: Karlos Novak -1_CygWin_Matlab_Aimsun Karlosik Novacek "), pepikovo->to_string()); |
| 215 | |
| 216 | auto_ptr<Transport> jardovo(UI::build<Transport>(in, "jardovo")); |
| 217 | CHECK_EQUAL(string("A car made in 1992 by liaz, having 1555000 kilometers on the clock."), jardovo->to_string()); |
| 218 | |
| 219 | auto_ptr<Transport> ondrejovo(UI::build<Transport>(in, "ondrejovo")); |
| 220 | CHECK_EQUAL(string("a bike made in 1996 by author with electric lights included"), ondrejovo->to_string()); |
| 221 | |
| 222 | auto_ptr<Transport> elisky(UI::build<Transport>(in, "elisky")); |
| 223 | CHECK_EQUAL(string("A car made in 1992 by liaz, having 1555000 kilometers on the clock."), elisky->to_string()); |
| 224 | |
| 225 | auto_ptr<Transport> kati(UI::build<Transport>(in, "kati")); |
| 226 | CHECK_EQUAL(string("A car made in 1980 by vecernicek, having 250000 kilometers on the clock."), kati->to_string()); |
| 227 | } |
| 228 | |
| 229 | TEST(test_save) |
| 230 | { |
| 231 | UIFile in("test_user_info_input.cfg"); |
| 232 | auto_ptr<Transport> pepikovo(UI::build<Transport>(in, "pepikovo")); |