3
0

ScriptCanvasUnitTest_Transform.cpp 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  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 <Tests/Framework/ScriptCanvasUnitTestFixture.h>
  9. #include <Libraries/Math/Transform.h>
  10. namespace ScriptCanvasUnitTest
  11. {
  12. using namespace ScriptCanvas;
  13. using ScriptCanvasUnitTestTransformFunctions = ScriptCanvasUnitTestFixture;
  14. TEST_F(ScriptCanvasUnitTestTransformFunctions, FromMatrix3x3_Call_GetExpectedResult)
  15. {
  16. auto actualResult = TransformFunctions::FromMatrix3x3(AZ::Matrix3x3::CreateIdentity());
  17. auto expectedResult = AZ::Transform::CreateIdentity();
  18. #if AZ_TRAIT_USE_PLATFORM_SIMD_NEON
  19. EXPECT_THAT(actualResult, IsClose(expectedResult));
  20. #else
  21. EXPECT_EQ(actualResult, expectedResult);
  22. #endif // AZ_TRAIT_USE_PLATFORM_SIMD_NEON
  23. }
  24. TEST_F(ScriptCanvasUnitTestTransformFunctions, FromMatrix3x3AndTranslation_Call_GetExpectedResult)
  25. {
  26. auto actualResult = TransformFunctions::FromMatrix3x3AndTranslation(AZ::Matrix3x3::CreateIdentity(), AZ::Vector3::CreateOne());
  27. EXPECT_EQ(actualResult.GetUniformScale(), 1);
  28. #if AZ_TRAIT_USE_PLATFORM_SIMD_NEON
  29. EXPECT_THAT(actualResult.GetRotation(), IsClose(AZ::Quaternion::CreateIdentity()));
  30. #else
  31. EXPECT_EQ(actualResult.GetTranslation(), AZ::Vector3::CreateOne());
  32. #endif // AZ_TRAIT_USE_PLATFORM_SIMD_NEON
  33. }
  34. TEST_F(ScriptCanvasUnitTestTransformFunctions, FromRotation_Call_GetExpectedResult)
  35. {
  36. auto actualResult = TransformFunctions::FromRotation(AZ::Quaternion::CreateIdentity());
  37. EXPECT_EQ(actualResult, AZ::Transform::CreateIdentity());
  38. }
  39. TEST_F(ScriptCanvasUnitTestTransformFunctions, FromRotationAndTranslation_Call_GetExpectedResult)
  40. {
  41. auto actualResult = TransformFunctions::FromRotationAndTranslation(AZ::Quaternion::CreateIdentity(), AZ::Vector3::CreateOne());
  42. EXPECT_EQ(actualResult.GetUniformScale(), 1);
  43. EXPECT_EQ(actualResult.GetRotation(), AZ::Quaternion::CreateIdentity());
  44. EXPECT_EQ(actualResult.GetTranslation(), AZ::Vector3::CreateOne());
  45. }
  46. TEST_F(ScriptCanvasUnitTestTransformFunctions, FromRotationScaleAndTranslation_Call_GetExpectedResult)
  47. {
  48. auto actualResult = TransformFunctions::FromRotationScaleAndTranslation(AZ::Quaternion::CreateIdentity(), 2.0, AZ::Vector3::CreateOne());
  49. EXPECT_EQ(actualResult.GetUniformScale(), 2);
  50. EXPECT_EQ(actualResult.GetRotation(), AZ::Quaternion::CreateIdentity());
  51. EXPECT_EQ(actualResult.GetTranslation(), AZ::Vector3::CreateOne());
  52. }
  53. TEST_F(ScriptCanvasUnitTestTransformFunctions, FromScale_Call_GetExpectedResult)
  54. {
  55. auto actualResult = TransformFunctions::FromScale(5);
  56. EXPECT_EQ(actualResult.GetUniformScale(), 5);
  57. }
  58. TEST_F(ScriptCanvasUnitTestTransformFunctions, FromTranslation_Call_GetExpectedResult)
  59. {
  60. auto actualResult = TransformFunctions::FromTranslation(AZ::Vector3::CreateOne());
  61. EXPECT_EQ(actualResult.GetTranslation(), AZ::Vector3::CreateOne());
  62. }
  63. TEST_F(ScriptCanvasUnitTestTransformFunctions, GetRight_Call_GetExpectedResult)
  64. {
  65. auto actualResult = TransformFunctions::GetRight(AZ::Transform::CreateIdentity(), 1);
  66. #if AZ_TRAIT_USE_PLATFORM_SIMD_NEON
  67. EXPECT_THAT(actualResult, IsClose(AZ::Vector3(1, 0, 0)));
  68. #else
  69. EXPECT_EQ(actualResult, AZ::Vector3(1, 0, 0));
  70. #endif // AZ_TRAIT_USE_PLATFORM_SIMD_NEON
  71. }
  72. TEST_F(ScriptCanvasUnitTestTransformFunctions, GetForward_Call_GetExpectedResult)
  73. {
  74. auto actualResult = TransformFunctions::GetForward(AZ::Transform::CreateIdentity(), 1);
  75. #if AZ_TRAIT_USE_PLATFORM_SIMD_NEON
  76. EXPECT_THAT(actualResult, IsClose(AZ::Vector3(0, 1, 0)));
  77. #else
  78. EXPECT_EQ(actualResult, AZ::Vector3(0, 1, 0));
  79. #endif // AZ_TRAIT_USE_PLATFORM_SIMD_NEON
  80. }
  81. TEST_F(ScriptCanvasUnitTestTransformFunctions, GetUp_Call_GetExpectedResult)
  82. {
  83. auto actualResult = TransformFunctions::GetUp(AZ::Transform::CreateIdentity(), 1);
  84. #if AZ_TRAIT_USE_PLATFORM_SIMD_NEON
  85. EXPECT_THAT(actualResult, IsClose(AZ::Vector3(0, 0, 1)));
  86. #else
  87. EXPECT_EQ(actualResult, AZ::Vector3(0, 0, 1));
  88. #endif // AZ_TRAIT_USE_PLATFORM_SIMD_NEON
  89. }
  90. TEST_F(ScriptCanvasUnitTestTransformFunctions, GetTranslation_Call_GetExpectedResult)
  91. {
  92. auto actualResult = TransformFunctions::GetTranslation(AZ::Transform::CreateIdentity());
  93. EXPECT_EQ(actualResult, AZ::Vector3(0, 0, 0));
  94. }
  95. TEST_F(ScriptCanvasUnitTestTransformFunctions, IsClose_Call_GetExpectedResult)
  96. {
  97. auto actualResult = TransformFunctions::IsClose(AZ::Transform::CreateIdentity(), AZ::Transform::CreateIdentity(), 0.001);
  98. EXPECT_TRUE(actualResult);
  99. }
  100. TEST_F(ScriptCanvasUnitTestTransformFunctions, IsFinite_Call_GetExpectedResult)
  101. {
  102. auto actualResult = TransformFunctions::IsFinite(AZ::Transform::CreateIdentity());
  103. EXPECT_TRUE(actualResult);
  104. }
  105. TEST_F(ScriptCanvasUnitTestTransformFunctions, IsOrthogonal_Call_GetExpectedResult)
  106. {
  107. auto actualResult = TransformFunctions::IsOrthogonal(AZ::Transform::CreateIdentity(), 0.001);
  108. EXPECT_TRUE(actualResult);
  109. }
  110. TEST_F(ScriptCanvasUnitTestTransformFunctions, MultiplyByUniformScale_Call_GetExpectedResult)
  111. {
  112. auto actualResult = TransformFunctions::MultiplyByUniformScale(AZ::Transform::CreateIdentity(), 5);
  113. EXPECT_EQ(actualResult.GetUniformScale(), 5);
  114. }
  115. TEST_F(ScriptCanvasUnitTestTransformFunctions, MultiplyByVector3_Call_GetExpectedResult)
  116. {
  117. auto actualResult = TransformFunctions::MultiplyByVector3(AZ::Transform::CreateIdentity(), AZ::Vector3::CreateOne());
  118. EXPECT_EQ(actualResult, AZ::Vector3::CreateOne());
  119. }
  120. TEST_F(ScriptCanvasUnitTestTransformFunctions, MultiplyByVector4_Call_GetExpectedResult)
  121. {
  122. auto actualResult = TransformFunctions::MultiplyByVector4(AZ::Transform::CreateIdentity(), AZ::Vector4::CreateOne());
  123. EXPECT_EQ(actualResult, AZ::Vector4::CreateOne());
  124. }
  125. TEST_F(ScriptCanvasUnitTestTransformFunctions, Orthogonalize_Call_GetExpectedResult)
  126. {
  127. auto actualResult = TransformFunctions::Orthogonalize(AZ::Transform::CreateIdentity());
  128. EXPECT_EQ(actualResult, AZ::Transform::CreateIdentity());
  129. }
  130. TEST_F(ScriptCanvasUnitTestTransformFunctions, RotationXDegrees_Call_GetExpectedResult)
  131. {
  132. auto actualResult = TransformFunctions::RotationXDegrees(0);
  133. EXPECT_EQ(actualResult, AZ::Transform::CreateIdentity());
  134. }
  135. TEST_F(ScriptCanvasUnitTestTransformFunctions, RotationYDegrees_Call_GetExpectedResult)
  136. {
  137. auto actualResult = TransformFunctions::RotationYDegrees(0);
  138. EXPECT_EQ(actualResult, AZ::Transform::CreateIdentity());
  139. }
  140. TEST_F(ScriptCanvasUnitTestTransformFunctions, RotationZDegrees_Call_GetExpectedResult)
  141. {
  142. auto actualResult = TransformFunctions::RotationZDegrees(0);
  143. EXPECT_EQ(actualResult, AZ::Transform::CreateIdentity());
  144. }
  145. TEST_F(ScriptCanvasUnitTestTransformFunctions, ToScale_Call_GetExpectedResult)
  146. {
  147. auto actualResult = TransformFunctions::ToScale(AZ::Transform::CreateIdentity());
  148. EXPECT_EQ(actualResult, 1);
  149. }
  150. } // namespace ScriptCanvasUnitTest