MathStringsTests.cpp 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #include <AzCore/UnitTest/TestTypes.h>
  9. #include <AzCore/Math/MathStringConversions.h>
  10. #include <AzCore/Math/Aabb.h>
  11. #include <AzCore/Math/Color.h>
  12. #include <AzCore/Math/Matrix3x3.h>
  13. #include <AzCore/Math/Matrix3x4.h>
  14. #include <AzCore/Math/Matrix4x4.h>
  15. #include <AzCore/Math/Transform.h>
  16. #include <AzCore/Math/Quaternion.h>
  17. #include <AzCore/Math/Vector2.h>
  18. #include <AzCore/Math/Vector3.h>
  19. namespace UnitTest
  20. {
  21. class MathStrings : public LeakDetectionFixture
  22. {
  23. };
  24. TEST_F(MathStrings, TestVectorStringConverters)
  25. {
  26. AZ::Vector2 vec2 = AZ::Vector2::CreateOne();
  27. AZ::Vector3 vec3 = AZ::Vector3::CreateOne();
  28. AZ::Vector4 vec4 = AZ::Vector4::CreateOne();
  29. AZ::Quaternion quat = AZ::Quaternion::CreateIdentity();
  30. EXPECT_EQ(AZStd::to_string(vec2), "1.00000000,1.00000000");
  31. EXPECT_EQ(AZStd::to_string(vec3), "1.00000000,1.00000000,1.00000000");
  32. EXPECT_EQ(AZStd::to_string(vec4), "1.00000000,1.00000000,1.00000000,1.00000000");
  33. EXPECT_EQ(AZStd::to_string(quat), "0.00000000,0.00000000,0.00000000,1.00000000");
  34. }
  35. TEST_F(MathStrings, TestMatrixStringConverters)
  36. {
  37. AZ::Matrix3x3 mat33 = AZ::Matrix3x3::CreateIdentity();
  38. AZ::Matrix4x4 mat44 = AZ::Matrix4x4::CreateIdentity();
  39. AZ::Transform xform = AZ::Transform::CreateIdentity();
  40. EXPECT_EQ(AZStd::to_string(mat33), "1.00000000,0.00000000,0.00000000\n0.00000000,1.00000000,0.00000000\n0.00000000,0.00000000,1.00000000");
  41. EXPECT_EQ(AZStd::to_string(mat44), "1.00000000,0.00000000,0.00000000,0.00000000\n0.00000000,1.00000000,0.00000000,0.00000000\n0.00000000,0.00000000,1.00000000,0.00000000\n0.00000000,0.00000000,0.00000000,1.00000000");
  42. EXPECT_EQ(AZStd::to_string(xform), "1.00000000,0.00000000,0.00000000\n0.00000000,1.00000000,0.00000000\n0.00000000,0.00000000,1.00000000\n0.00000000,0.00000000,0.00000000");
  43. }
  44. TEST_F(MathStrings, TestAabbStringConverter)
  45. {
  46. AZ::Aabb aabb = AZ::Aabb::CreateFromMinMaxValues(0.f, 0.f, 0.f, 1.f, 1.f, 1.f);
  47. EXPECT_EQ(AZStd::to_string(aabb), "0.00000000,0.00000000,0.00000000\n1.00000000,1.00000000,1.00000000");
  48. }
  49. TEST_F(MathStrings, TestColorStringConverter)
  50. {
  51. EXPECT_EQ(AZStd::to_string(AZ::Colors::Black), "R:0, G:0, B:0 A:255");
  52. }
  53. }