gtx_string_cast.cpp 3.8 KB

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