3
0

ScriptCanvasUnitTest_Vector4.cpp 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  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/Vector4.h>
  10. namespace ScriptCanvasUnitTest
  11. {
  12. using namespace ScriptCanvas;
  13. using ScriptCanvasUnitTestVector4Functions = ScriptCanvasUnitTestFixture;
  14. TEST_F(ScriptCanvasUnitTestVector4Functions, Absolute_Call_GetExpectedResult)
  15. {
  16. auto actualResult = Vector4Functions::Absolute(AZ::Vector4(-1, -1, -1, -1));
  17. EXPECT_EQ(actualResult, AZ::Vector4::CreateOne());
  18. }
  19. TEST_F(ScriptCanvasUnitTestVector4Functions, Dot_Call_GetExpectedResult)
  20. {
  21. auto actualResult = Vector4Functions::Dot(AZ::Vector4::CreateOne(), AZ::Vector4::CreateOne());
  22. EXPECT_EQ(actualResult, 4);
  23. }
  24. TEST_F(ScriptCanvasUnitTestVector4Functions, FromValues_Call_GetExpectedResult)
  25. {
  26. auto actualResult = Vector4Functions::FromValues(1, 1, 1, 1);
  27. EXPECT_EQ(actualResult, AZ::Vector4::CreateOne());
  28. }
  29. TEST_F(ScriptCanvasUnitTestVector4Functions, GetElement_Call_GetExpectedResult)
  30. {
  31. auto actualResult = Vector4Functions::GetElement(AZ::Vector4::CreateOne(), 0);
  32. EXPECT_EQ(actualResult, 1);
  33. }
  34. TEST_F(ScriptCanvasUnitTestVector4Functions, IsClose_Call_GetExpectedResult)
  35. {
  36. auto actualResult = Vector4Functions::IsClose(AZ::Vector4::CreateOne(), AZ::Vector4::CreateOne(), 0.001);
  37. EXPECT_TRUE(actualResult);
  38. }
  39. TEST_F(ScriptCanvasUnitTestVector4Functions, IsFinite_Call_GetExpectedResult)
  40. {
  41. auto actualResult = Vector4Functions::IsFinite(AZ::Vector4::CreateOne());
  42. EXPECT_TRUE(actualResult);
  43. }
  44. TEST_F(ScriptCanvasUnitTestVector4Functions, IsNormalized_Call_GetExpectedResult)
  45. {
  46. auto actualResult = Vector4Functions::IsNormalized(AZ::Vector4(1, 0, 0, 0), 0.001);
  47. EXPECT_TRUE(actualResult);
  48. }
  49. TEST_F(ScriptCanvasUnitTestVector4Functions, IsZero_Call_GetExpectedResult)
  50. {
  51. auto actualResult = Vector4Functions::IsZero(AZ::Vector4::CreateZero(), 0.001);
  52. EXPECT_TRUE(actualResult);
  53. }
  54. TEST_F(ScriptCanvasUnitTestVector4Functions, Length_Call_GetExpectedResult)
  55. {
  56. auto actualResult = Vector4Functions::Length(AZ::Vector4(3, 4, 0, 0));
  57. EXPECT_EQ(actualResult, 5);
  58. }
  59. TEST_F(ScriptCanvasUnitTestVector4Functions, LengthReciprocal_Call_GetExpectedResult)
  60. {
  61. auto actualResult = Vector4Functions::LengthReciprocal(AZ::Vector4(-3, 4, 0, 0));
  62. EXPECT_TRUE(AZStd::abs(actualResult - 0.2) < 0.001);
  63. }
  64. TEST_F(ScriptCanvasUnitTestVector4Functions, LengthSquared_Call_GetExpectedResult)
  65. {
  66. auto actualResult = Vector4Functions::LengthSquared(AZ::Vector4(3, 4, 0, 0));
  67. EXPECT_EQ(actualResult, 25);
  68. }
  69. TEST_F(ScriptCanvasUnitTestVector4Functions, SetX_Call_GetExpectedResult)
  70. {
  71. auto actualResult = Vector4Functions::SetX(AZ::Vector4(1, 0, 0, 0), 0);
  72. EXPECT_EQ(actualResult, AZ::Vector4::CreateZero());
  73. }
  74. TEST_F(ScriptCanvasUnitTestVector4Functions, SetY_Call_GetExpectedResult)
  75. {
  76. auto actualResult = Vector4Functions::SetY(AZ::Vector4(0, 1, 0, 0), 0);
  77. EXPECT_EQ(actualResult, AZ::Vector4::CreateZero());
  78. }
  79. TEST_F(ScriptCanvasUnitTestVector4Functions, SetZ_Call_GetExpectedResult)
  80. {
  81. auto actualResult = Vector4Functions::SetZ(AZ::Vector4(0, 0, 1, 0), 0);
  82. EXPECT_EQ(actualResult, AZ::Vector4::CreateZero());
  83. }
  84. TEST_F(ScriptCanvasUnitTestVector4Functions, SetW_Call_GetExpectedResult)
  85. {
  86. auto actualResult = Vector4Functions::SetW(AZ::Vector4(0, 0, 0, 1), 0);
  87. EXPECT_EQ(actualResult, AZ::Vector4::CreateZero());
  88. }
  89. TEST_F(ScriptCanvasUnitTestVector4Functions, MultiplyByNumber_Call_GetExpectedResult)
  90. {
  91. auto actualResult = Vector4Functions::MultiplyByNumber(AZ::Vector4(1, 1, 1, 1), 0);
  92. EXPECT_EQ(actualResult, AZ::Vector4::CreateZero());
  93. }
  94. TEST_F(ScriptCanvasUnitTestVector4Functions, Negate_Call_GetExpectedResult)
  95. {
  96. auto actualResult = Vector4Functions::Negate(AZ::Vector4(1, 1, 1, 1));
  97. EXPECT_EQ(actualResult, AZ::Vector4(-1, -1, -1, -1));
  98. }
  99. TEST_F(ScriptCanvasUnitTestVector4Functions, Normalize_Call_GetExpectedResult)
  100. {
  101. auto actualResult = Vector4Functions::Normalize(AZ::Vector4(1, 0, 0, 0));
  102. EXPECT_EQ(actualResult, AZ::Vector4(1, 0, 0, 0));
  103. }
  104. TEST_F(ScriptCanvasUnitTestVector4Functions, Reciprocal_Call_GetExpectedResult)
  105. {
  106. auto actualResult = Vector4Functions::Reciprocal(AZ::Vector4::CreateOne());
  107. #if AZ_TRAIT_USE_PLATFORM_SIMD_NEON
  108. EXPECT_THAT(actualResult, IsClose(AZ::Vector4::CreateOne()));
  109. #else
  110. EXPECT_EQ(actualResult, AZ::Vector4::CreateOne());
  111. #endif // AZ_TRAIT_USE_PLATFORM_SIMD_NEON
  112. }
  113. TEST_F(ScriptCanvasUnitTestVector4Functions, DirectionTo_Call_GetExpectedResult)
  114. {
  115. auto actualResult = Vector4Functions::DirectionTo(AZ::Vector4::CreateZero(), AZ::Vector4(1, 0, 0, 0), 1);
  116. #if AZ_TRAIT_USE_PLATFORM_SIMD_NEON
  117. EXPECT_THAT(AZStd::get<0>(actualResult), IsClose(AZ::Vector4(1, 0, 0, 0)));
  118. #else
  119. EXPECT_EQ(AZStd::get<0>(actualResult), AZ::Vector4(1, 0, 0, 0));
  120. #endif // AZ_TRAIT_USE_PLATFORM_SIMD_NEON
  121. EXPECT_EQ(AZStd::get<1>(actualResult), 1);
  122. }
  123. } // namespace ScriptCanvasUnitTest