ScriptCanvasUnitTest_Matrix3x3.cpp 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  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/Matrix3x3.h>
  10. namespace ScriptCanvasUnitTest
  11. {
  12. using namespace ScriptCanvas;
  13. using ScriptCanvasUnitTestMatrix3x3Functions = ScriptCanvasUnitTestFixture;
  14. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, FromColumns_Call_GetExpectedResult)
  15. {
  16. AZ::Vector3 col1 = AZ::Vector3(1, 0, 0);
  17. AZ::Vector3 col2 = AZ::Vector3(0, 1, 0);
  18. AZ::Vector3 col3 = AZ::Vector3(0, 0, 1);
  19. auto actualResult = Matrix3x3Functions::FromColumns(col1, col2, col3);
  20. EXPECT_EQ(actualResult, AZ::Matrix3x3::CreateIdentity());
  21. }
  22. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, FromCrossProduct_Call_GetExpectedResult)
  23. {
  24. auto actualResult = Matrix3x3Functions::FromCrossProduct(AZ::Vector3(0, 0, 0));
  25. EXPECT_EQ(actualResult, AZ::Matrix3x3::CreateZero());
  26. }
  27. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, FromDiagonal_Call_GetExpectedResult)
  28. {
  29. auto actualResult = Matrix3x3Functions::FromDiagonal(AZ::Vector3(1, 1, 1));
  30. EXPECT_EQ(actualResult, AZ::Matrix3x3::CreateIdentity());
  31. }
  32. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, FromMatrix4x4_Call_GetExpectedResult)
  33. {
  34. auto actualResult = Matrix3x3Functions::FromMatrix4x4(AZ::Matrix4x4::CreateIdentity());
  35. EXPECT_EQ(actualResult, AZ::Matrix3x3::CreateIdentity());
  36. }
  37. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, FromQuaternion_Call_GetExpectedResult)
  38. {
  39. auto actualResult = Matrix3x3Functions::FromQuaternion(AZ::Quaternion::CreateIdentity());
  40. EXPECT_EQ(actualResult, AZ::Matrix3x3::CreateIdentity());
  41. }
  42. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, FromRotationXDegrees_Call_GetExpectedResult)
  43. {
  44. auto actualResult = Matrix3x3Functions::FromRotationXDegrees(0);
  45. EXPECT_EQ(actualResult, AZ::Matrix3x3::CreateIdentity());
  46. }
  47. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, FromRotationYDegrees_Call_GetExpectedResult)
  48. {
  49. auto actualResult = Matrix3x3Functions::FromRotationYDegrees(0);
  50. EXPECT_EQ(actualResult, AZ::Matrix3x3::CreateIdentity());
  51. }
  52. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, FromRotationZDegrees_Call_GetExpectedResult)
  53. {
  54. auto actualResult = Matrix3x3Functions::FromRotationZDegrees(0);
  55. EXPECT_EQ(actualResult, AZ::Matrix3x3::CreateIdentity());
  56. }
  57. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, FromRows_Call_GetExpectedResult)
  58. {
  59. AZ::Vector3 row1 = AZ::Vector3(1, 0, 0);
  60. AZ::Vector3 row2 = AZ::Vector3(0, 1, 0);
  61. AZ::Vector3 row3 = AZ::Vector3(0, 0, 1);
  62. auto actualResult = Matrix3x3Functions::FromRows(row1, row2, row3);
  63. EXPECT_EQ(actualResult, AZ::Matrix3x3::CreateIdentity());
  64. }
  65. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, FromScale_Call_GetExpectedResult)
  66. {
  67. auto actualResult = Matrix3x3Functions::FromScale(AZ::Vector3(1, 1, 1));
  68. EXPECT_EQ(actualResult, AZ::Matrix3x3::CreateIdentity());
  69. }
  70. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, FromTransform_Call_GetExpectedResult)
  71. {
  72. auto actualResult = Matrix3x3Functions::FromTransform(AZ::Transform::CreateIdentity());
  73. EXPECT_EQ(actualResult, AZ::Matrix3x3::CreateIdentity());
  74. }
  75. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, GetColumn_Call_GetExpectedResult)
  76. {
  77. auto actualResult = Matrix3x3Functions::GetColumn(AZ::Matrix3x3::CreateIdentity(), 0);
  78. EXPECT_EQ(actualResult, AZ::Vector3(1, 0, 0));
  79. }
  80. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, GetColumns_Call_GetExpectedResult)
  81. {
  82. auto actualResult = Matrix3x3Functions::GetColumns(AZ::Matrix3x3::CreateIdentity());
  83. EXPECT_EQ(AZStd::get<0>(actualResult), AZ::Vector3(1, 0, 0));
  84. EXPECT_EQ(AZStd::get<1>(actualResult), AZ::Vector3(0, 1, 0));
  85. EXPECT_EQ(AZStd::get<2>(actualResult), AZ::Vector3(0, 0, 1));
  86. }
  87. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, GetDiagonal_Call_GetExpectedResult)
  88. {
  89. auto actualResult = Matrix3x3Functions::GetDiagonal(AZ::Matrix3x3::CreateIdentity());
  90. EXPECT_EQ(actualResult, AZ::Vector3(1, 1, 1));
  91. }
  92. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, GetElement_Call_GetExpectedResult)
  93. {
  94. auto actualResult = Matrix3x3Functions::GetElement(AZ::Matrix3x3::CreateIdentity(), 0, 0);
  95. EXPECT_EQ(actualResult, 1);
  96. }
  97. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, GetRow_Call_GetExpectedResult)
  98. {
  99. auto actualResult = Matrix3x3Functions::GetRow(AZ::Matrix3x3::CreateIdentity(), 0);
  100. EXPECT_EQ(actualResult, AZ::Vector3(1, 0, 0));
  101. }
  102. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, GetRows_Call_GetExpectedResult)
  103. {
  104. auto actualResult = Matrix3x3Functions::GetRows(AZ::Matrix3x3::CreateIdentity());
  105. EXPECT_EQ(AZStd::get<0>(actualResult), AZ::Vector3(1, 0, 0));
  106. EXPECT_EQ(AZStd::get<1>(actualResult), AZ::Vector3(0, 1, 0));
  107. EXPECT_EQ(AZStd::get<2>(actualResult), AZ::Vector3(0, 0, 1));
  108. }
  109. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, Invert_Call_GetExpectedResult)
  110. {
  111. auto actualResult = Matrix3x3Functions::Invert(AZ::Matrix3x3::CreateIdentity());
  112. EXPECT_EQ(actualResult, AZ::Matrix3x3::CreateIdentity());
  113. }
  114. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, IsClose_Call_GetExpectedResult)
  115. {
  116. auto actualResult = Matrix3x3Functions::IsClose(AZ::Matrix3x3::CreateIdentity(), AZ::Matrix3x3::CreateIdentity(), 0.0001);
  117. EXPECT_TRUE(actualResult);
  118. }
  119. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, IsFinite_Call_GetExpectedResult)
  120. {
  121. auto actualResult = Matrix3x3Functions::IsFinite(AZ::Matrix3x3::CreateIdentity());
  122. EXPECT_TRUE(actualResult);
  123. }
  124. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, IsOrthogonal_Call_GetExpectedResult)
  125. {
  126. auto actualResult = Matrix3x3Functions::IsOrthogonal(AZ::Matrix3x3::CreateIdentity());
  127. EXPECT_TRUE(actualResult);
  128. }
  129. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, MultiplyByNumber_Call_GetExpectedResult)
  130. {
  131. auto actualResult = Matrix3x3Functions::MultiplyByNumber(AZ::Matrix3x3::CreateIdentity(), 1);
  132. EXPECT_EQ(actualResult, AZ::Matrix3x3::CreateIdentity());
  133. }
  134. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, MultiplyByVector_Call_GetExpectedResult)
  135. {
  136. auto actualResult = Matrix3x3Functions::MultiplyByVector(AZ::Matrix3x3::CreateIdentity(), AZ::Vector3(2, 2, 2));
  137. EXPECT_EQ(actualResult, AZ::Vector3(2, 2, 2));
  138. }
  139. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, Orthogonalize_Call_GetExpectedResult)
  140. {
  141. auto actualResult = Matrix3x3Functions::Orthogonalize(AZ::Matrix3x3::CreateIdentity());
  142. EXPECT_EQ(actualResult, AZ::Matrix3x3::CreateIdentity());
  143. }
  144. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, ToAdjugate_Call_GetExpectedResult)
  145. {
  146. auto actualResult = Matrix3x3Functions::ToAdjugate(AZ::Matrix3x3::CreateIdentity());
  147. EXPECT_EQ(actualResult, AZ::Matrix3x3::CreateIdentity());
  148. }
  149. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, ToDeterminant_Call_GetExpectedResult)
  150. {
  151. auto actualResult = Matrix3x3Functions::ToDeterminant(AZ::Matrix3x3::CreateIdentity());
  152. EXPECT_EQ(actualResult, 1);
  153. }
  154. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, ToScale_Call_GetExpectedResult)
  155. {
  156. auto actualResult = Matrix3x3Functions::ToScale(AZ::Matrix3x3::CreateIdentity());
  157. EXPECT_EQ(actualResult, AZ::Vector3(1, 1, 1));
  158. }
  159. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, Transpose_Call_GetExpectedResult)
  160. {
  161. auto actualResult = Matrix3x3Functions::Transpose(AZ::Matrix3x3::CreateIdentity());
  162. EXPECT_EQ(actualResult, AZ::Matrix3x3::CreateIdentity());
  163. }
  164. TEST_F(ScriptCanvasUnitTestMatrix3x3Functions, Zero_Call_GetExpectedResult)
  165. {
  166. auto actualResult = Matrix3x3Functions::Zero();
  167. EXPECT_EQ(actualResult.RetrieveScale(), AZ::Vector3::CreateZero());
  168. }
  169. } // namespace ScriptCanvasUnitTest