gtx_string_cast.cpp 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. ///////////////////////////////////////////////////////////////////////////////////////////////////
  2. // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
  3. ///////////////////////////////////////////////////////////////////////////////////////////////////
  4. // Created : 2011-09-01
  5. // Updated : 2011-09-01
  6. // Licence : This source is under MIT licence
  7. // File : test/gtx/string_cast.cpp
  8. ///////////////////////////////////////////////////////////////////////////////////////////////////
  9. #define GLM_MESSAGES
  10. #include <glm/glm.hpp>
  11. #include <glm/gtx/string_cast.hpp>
  12. #include <iostream>
  13. #include <limits>
  14. int test_string_cast_scalar()
  15. {
  16. int Error = 0;
  17. glm::half A1(1.0);
  18. std::string A2 = glm::to_string(A1);
  19. Error += A2 != std::string("half(1.0000)") ? 1 : 0;
  20. float B1(1.0);
  21. std::string B2 = glm::to_string(B1);
  22. Error += B2 != std::string("float(1.000000)") ? 1 : 0;
  23. double C1(1.0);
  24. std::string C2 = glm::to_string(C1);
  25. Error += C2 != std::string("double(1.000000)") ? 1 : 0;
  26. return Error;
  27. }
  28. int test_string_cast_vector()
  29. {
  30. int Error = 0;
  31. glm::vec2 A1(1, 2);
  32. std::string A2 = glm::to_string(A1);
  33. Error += A2 != std::string("fvec2(1.000000, 2.000000)") ? 1 : 0;
  34. glm::vec3 B1(1, 2, 3);
  35. std::string B2 = glm::to_string(B1);
  36. Error += B2 != std::string("fvec3(1.000000, 2.000000, 3.000000)") ? 1 : 0;
  37. glm::vec4 C1(1, 2, 3, 4);
  38. std::string C2 = glm::to_string(C1);
  39. Error += C2 != std::string("fvec4(1.000000, 2.000000, 3.000000, 4.000000)") ? 1 : 0;
  40. glm::ivec2 D1(1, 2);
  41. std::string D2 = glm::to_string(D1);
  42. Error += D2 != std::string("ivec2(1, 2)") ? 1 : 0;
  43. glm::ivec3 E1(1, 2, 3);
  44. std::string E2 = glm::to_string(E1);
  45. Error += E2 != std::string("ivec3(1, 2, 3)") ? 1 : 0;
  46. glm::ivec4 F1(1, 2, 3, 4);
  47. std::string F2 = glm::to_string(F1);
  48. Error += F2 != std::string("ivec4(1, 2, 3, 4)") ? 1 : 0;
  49. glm::hvec2 G1(1, 2);
  50. std::string G2 = glm::to_string(G1);
  51. Error += G2 != std::string("hvec2(1.0000, 2.0000)") ? 1 : 0;
  52. glm::hvec3 H1(1, 2, 3);
  53. std::string H2 = glm::to_string(H1);
  54. Error += H2 != std::string("hvec3(1.0000, 2.0000, 3.0000)") ? 1 : 0;
  55. glm::hvec4 I1(1, 2, 3, 4);
  56. std::string I2 = glm::to_string(I1);
  57. Error += I2 != std::string("hvec4(1.0000, 2.0000, 3.0000, 4.0000)") ? 1 : 0;
  58. glm::dvec2 J1(1, 2);
  59. std::string J2 = glm::to_string(J1);
  60. Error += J2 != std::string("dvec2(1.000000, 2.000000)") ? 1 : 0;
  61. glm::dvec3 K1(1, 2, 3);
  62. std::string K2 = glm::to_string(K1);
  63. Error += K2 != std::string("dvec3(1.000000, 2.000000, 3.000000)") ? 1 : 0;
  64. glm::dvec4 L1(1, 2, 3, 4);
  65. std::string L2 = glm::to_string(L1);
  66. Error += L2 != std::string("dvec4(1.000000, 2.000000, 3.000000, 4.000000)") ? 1 : 0;
  67. return Error;
  68. }
  69. int test_string_cast_matrix()
  70. {
  71. int Error = 0;
  72. return Error;
  73. }
  74. int main()
  75. {
  76. int Error = 0;
  77. Error += test_string_cast_scalar();
  78. Error += test_string_cast_vector();
  79. Error += test_string_cast_matrix();
  80. return Error;
  81. }