to_text.cpp 972 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #include<__vic/to_text.h>
  2. #include<iostream>
  3. #include<exception>
  4. #include<cassert>
  5. #include<cstdio>
  6. #include<limits>
  7. void run_tests()
  8. {
  9. std::string st;
  10. __vic::to_text_append(123, st);
  11. assert(st == "123");
  12. __vic::to_text_append(45UL, st);
  13. assert(st == "12345");
  14. st.clear();
  15. __vic::to_text_append(-123, st);
  16. assert(st == "-123");
  17. st.clear();
  18. {
  19. const int min_int = std::numeric_limits<int>::min();
  20. __vic::to_text_append(min_int, st);
  21. char buf[64];
  22. assert(st.length() < sizeof buf);
  23. std::sprintf(buf, "%d", min_int);
  24. assert(st == buf);
  25. }
  26. st.clear();
  27. __vic::to_text_append(1.2, st);
  28. __vic::to_text_append(true, st);
  29. __vic::to_text_append(short(1), st);
  30. __vic::to_text_append(&st, st);
  31. }
  32. int main()
  33. {
  34. try
  35. {
  36. run_tests();
  37. return 0;
  38. }
  39. catch(const std::exception &ex)
  40. {
  41. std::cerr << ex.what() << '\n';
  42. }
  43. return 1;
  44. }