2
0

gtx_string_cast.cpp 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. #include <glm/glm.hpp>
  2. #include <glm/gtx/string_cast.hpp>
  3. #include <limits>
  4. int test_string_cast_vector()
  5. {
  6. int Error = 0;
  7. {
  8. glm::vec2 A1(1, 2);
  9. std::string A2 = glm::to_string(A1);
  10. Error += A2 != std::string("vec2(1.000000, 2.000000)") ? 1 : 0;
  11. glm::vec3 B1(1, 2, 3);
  12. std::string B2 = glm::to_string(B1);
  13. Error += B2 != std::string("vec3(1.000000, 2.000000, 3.000000)") ? 1 : 0;
  14. glm::vec4 C1(1, 2, 3, 4);
  15. std::string C2 = glm::to_string(C1);
  16. Error += C2 != std::string("vec4(1.000000, 2.000000, 3.000000, 4.000000)") ? 1 : 0;
  17. glm::dvec2 J1(1, 2);
  18. std::string J2 = glm::to_string(J1);
  19. Error += J2 != std::string("dvec2(1.000000, 2.000000)") ? 1 : 0;
  20. glm::dvec3 K1(1, 2, 3);
  21. std::string K2 = glm::to_string(K1);
  22. Error += K2 != std::string("dvec3(1.000000, 2.000000, 3.000000)") ? 1 : 0;
  23. glm::dvec4 L1(1, 2, 3, 4);
  24. std::string L2 = glm::to_string(L1);
  25. Error += L2 != std::string("dvec4(1.000000, 2.000000, 3.000000, 4.000000)") ? 1 : 0;
  26. }
  27. {
  28. glm::bvec2 M1(false, true);
  29. std::string M2 = glm::to_string(M1);
  30. Error += M2 != std::string("bvec2(false, true)") ? 1 : 0;
  31. glm::bvec3 O1(false, true, false);
  32. std::string O2 = glm::to_string(O1);
  33. Error += O2 != std::string("bvec3(false, true, false)") ? 1 : 0;
  34. glm::bvec4 P1(false, true, false, true);
  35. std::string P2 = glm::to_string(P1);
  36. Error += P2 != std::string("bvec4(false, true, false, true)") ? 1 : 0;
  37. }
  38. {
  39. glm::ivec2 D1(1, 2);
  40. std::string D2 = glm::to_string(D1);
  41. Error += D2 != std::string("ivec2(1, 2)") ? 1 : 0;
  42. glm::ivec3 E1(1, 2, 3);
  43. std::string E2 = glm::to_string(E1);
  44. Error += E2 != std::string("ivec3(1, 2, 3)") ? 1 : 0;
  45. glm::ivec4 F1(1, 2, 3, 4);
  46. std::string F2 = glm::to_string(F1);
  47. Error += F2 != std::string("ivec4(1, 2, 3, 4)") ? 1 : 0;
  48. }
  49. {
  50. glm::i8vec2 D1(1, 2);
  51. std::string D2 = glm::to_string(D1);
  52. Error += D2 != std::string("i8vec2(1, 2)") ? 1 : 0;
  53. glm::i8vec3 E1(1, 2, 3);
  54. std::string E2 = glm::to_string(E1);
  55. Error += E2 != std::string("i8vec3(1, 2, 3)") ? 1 : 0;
  56. glm::i8vec4 F1(1, 2, 3, 4);
  57. std::string F2 = glm::to_string(F1);
  58. Error += F2 != std::string("i8vec4(1, 2, 3, 4)") ? 1 : 0;
  59. }
  60. {
  61. glm::i16vec2 D1(1, 2);
  62. std::string D2 = glm::to_string(D1);
  63. Error += D2 != std::string("i16vec2(1, 2)") ? 1 : 0;
  64. glm::i16vec3 E1(1, 2, 3);
  65. std::string E2 = glm::to_string(E1);
  66. Error += E2 != std::string("i16vec3(1, 2, 3)") ? 1 : 0;
  67. glm::i16vec4 F1(1, 2, 3, 4);
  68. std::string F2 = glm::to_string(F1);
  69. Error += F2 != std::string("i16vec4(1, 2, 3, 4)") ? 1 : 0;
  70. }
  71. {
  72. glm::i64vec2 D1(1, 2);
  73. std::string D2 = glm::to_string(D1);
  74. Error += D2 != std::string("i64vec2(1, 2)") ? 1 : 0;
  75. glm::i64vec3 E1(1, 2, 3);
  76. std::string E2 = glm::to_string(E1);
  77. Error += E2 != std::string("i64vec3(1, 2, 3)") ? 1 : 0;
  78. glm::i64vec4 F1(1, 2, 3, 4);
  79. std::string F2 = glm::to_string(F1);
  80. Error += F2 != std::string("i64vec4(1, 2, 3, 4)") ? 1 : 0;
  81. }
  82. return Error;
  83. }
  84. int test_string_cast_matrix()
  85. {
  86. int Error = 0;
  87. glm::mat2x2 A1(1.000000, 2.000000, 3.000000, 4.000000);
  88. std::string A2 = glm::to_string(A1);
  89. Error += A2 != std::string("mat2x2((1.000000, 2.000000), (3.000000, 4.000000))") ? 1 : 0;
  90. return Error;
  91. }
  92. int main()
  93. {
  94. int Error = 0;
  95. Error += test_string_cast_vector();
  96. Error += test_string_cast_matrix();
  97. return Error;
  98. }