pad_str.cpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #include<__vic/string_utils.h>
  2. #include<iostream>
  3. #include<exception>
  4. #include<cstring>
  5. #include<cassert>
  6. namespace tests {
  7. void cstring_test()
  8. {
  9. char st[10];
  10. std::strcpy(st, "1");
  11. std::cout << st << " -> "; std::cout << __vic::pad_front(st, 4, '0') << std::endl;
  12. assert(std::strcmp(st, "0001") == 0);
  13. __vic::pad_front(st, 4, '0');
  14. assert(std::strcmp(st, "0001") == 0);
  15. std::strcpy(st, "1");
  16. std::cout << st << " -> "; std::cout << __vic::pad_back(st, 4, '0') << std::endl;
  17. assert(std::strcmp(st, "1000") == 0);
  18. __vic::pad_back(st, 4, '0');
  19. assert(std::strcmp(st, "1000") == 0);
  20. }
  21. void string_test()
  22. {
  23. std::string st;
  24. st = "1";
  25. std::cout << st << " -> "; std::cout << __vic::pad_front(st, 4, '0') << std::endl;
  26. assert(st == "0001");
  27. __vic::pad_front(st, 4, '0');
  28. assert(st == "0001");
  29. st = "1";
  30. std::cout << st << " -> "; std::cout << __vic::pad_back(st, 4, '0') << std::endl;
  31. assert(st == "1000");
  32. __vic::pad_back(st, 4, '0');
  33. assert(st == "1000");
  34. }
  35. void run()
  36. {
  37. cstring_test();
  38. string_test();
  39. }
  40. } // namespace
  41. int main()
  42. {
  43. try
  44. {
  45. tests::run();
  46. return 0;
  47. }
  48. catch(const std::exception &ex)
  49. {
  50. std::cerr << ex.what() << '\n';
  51. }
  52. return 1;
  53. }