3
0

ScriptCanvasUnitTest_Vector2.cpp 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  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/Vector2.h>
  10. namespace ScriptCanvasUnitTest
  11. {
  12. using namespace ScriptCanvas;
  13. using ScriptCanvasUnitTestVector2Functions = ScriptCanvasUnitTestFixture;
  14. TEST_F(ScriptCanvasUnitTestVector2Functions, Absolute_Call_GetExpectedResult)
  15. {
  16. auto actualResult = Vector2Functions::Absolute(AZ::Vector2(-1, -1));
  17. EXPECT_EQ(actualResult, AZ::Vector2::CreateOne());
  18. }
  19. TEST_F(ScriptCanvasUnitTestVector2Functions, Angle_Call_GetExpectedResult)
  20. {
  21. auto actualResult = Vector2Functions::Angle(AZ::Constants::Pi / 2);
  22. EXPECT_EQ(actualResult, AZ::Vector2(1, 0));
  23. }
  24. TEST_F(ScriptCanvasUnitTestVector2Functions, Clamp_Call_GetExpectedResult)
  25. {
  26. auto actualResult = Vector2Functions::Clamp(AZ::Vector2(-2, 2), AZ::Vector2(-1, -1), AZ::Vector2(1, 1));
  27. EXPECT_EQ(actualResult, AZ::Vector2(-1, 1));
  28. }
  29. TEST_F(ScriptCanvasUnitTestVector2Functions, Distance_Call_GetExpectedResult)
  30. {
  31. auto actualResult = Vector2Functions::Distance(AZ::Vector2(-1, 0), AZ::Vector2(1, 0));
  32. EXPECT_EQ(actualResult, 2);
  33. }
  34. TEST_F(ScriptCanvasUnitTestVector2Functions, DistanceSquared_Call_GetExpectedResult)
  35. {
  36. auto actualResult = Vector2Functions::DistanceSquared(AZ::Vector2(-1, 0), AZ::Vector2(1, 0));
  37. EXPECT_EQ(actualResult, 4);
  38. }
  39. TEST_F(ScriptCanvasUnitTestVector2Functions, Dot_Call_GetExpectedResult)
  40. {
  41. auto actualResult = Vector2Functions::Dot(AZ::Vector2::CreateOne(), AZ::Vector2::CreateOne());
  42. EXPECT_EQ(actualResult, 2);
  43. }
  44. TEST_F(ScriptCanvasUnitTestVector2Functions, FromValues_Call_GetExpectedResult)
  45. {
  46. auto actualResult = Vector2Functions::FromValues(1, 1);
  47. EXPECT_EQ(actualResult, AZ::Vector2::CreateOne());
  48. }
  49. TEST_F(ScriptCanvasUnitTestVector2Functions, GetElement_Call_GetExpectedResult)
  50. {
  51. auto actualResult = Vector2Functions::GetElement(AZ::Vector2::CreateOne(), 0);
  52. EXPECT_EQ(actualResult, 1);
  53. }
  54. TEST_F(ScriptCanvasUnitTestVector2Functions, IsClose_Call_GetExpectedResult)
  55. {
  56. auto actualResult = Vector2Functions::IsClose(AZ::Vector2::CreateOne(), AZ::Vector2::CreateOne(), 0.001);
  57. EXPECT_TRUE(actualResult);
  58. }
  59. TEST_F(ScriptCanvasUnitTestVector2Functions, IsFinite_Call_GetExpectedResult)
  60. {
  61. auto actualResult = Vector2Functions::IsFinite(AZ::Vector2::CreateOne());
  62. EXPECT_TRUE(actualResult);
  63. }
  64. TEST_F(ScriptCanvasUnitTestVector2Functions, IsNormalized_Call_GetExpectedResult)
  65. {
  66. auto actualResult = Vector2Functions::IsNormalized(AZ::Vector2(1, 0), 0.001);
  67. EXPECT_TRUE(actualResult);
  68. }
  69. TEST_F(ScriptCanvasUnitTestVector2Functions, IsZero_Call_GetExpectedResult)
  70. {
  71. auto actualResult = Vector2Functions::IsZero(AZ::Vector2::CreateZero(), 0.001);
  72. EXPECT_TRUE(actualResult);
  73. }
  74. TEST_F(ScriptCanvasUnitTestVector2Functions, Length_Call_GetExpectedResult)
  75. {
  76. auto actualResult = Vector2Functions::Length(AZ::Vector2(3, 4));
  77. EXPECT_EQ(actualResult, 5);
  78. }
  79. TEST_F(ScriptCanvasUnitTestVector2Functions, LengthSquared_Call_GetExpectedResult)
  80. {
  81. auto actualResult = Vector2Functions::LengthSquared(AZ::Vector2(3, 4));
  82. EXPECT_EQ(actualResult, 25);
  83. }
  84. TEST_F(ScriptCanvasUnitTestVector2Functions, Lerp_Call_GetExpectedResult)
  85. {
  86. auto actualResult = Vector2Functions::Lerp(AZ::Vector2(0, 0), AZ::Vector2(1, 0), 0.5);
  87. EXPECT_EQ(actualResult, AZ::Vector2(0.5, 0));
  88. }
  89. TEST_F(ScriptCanvasUnitTestVector2Functions, Max_Call_GetExpectedResult)
  90. {
  91. auto actualResult = Vector2Functions::Max(AZ::Vector2(1, 0), AZ::Vector2(0, 1));
  92. EXPECT_EQ(actualResult, AZ::Vector2::CreateOne());
  93. }
  94. TEST_F(ScriptCanvasUnitTestVector2Functions, Min_Call_GetExpectedResult)
  95. {
  96. auto actualResult = Vector2Functions::Min(AZ::Vector2(1, 0), AZ::Vector2(0, 1));
  97. EXPECT_EQ(actualResult, AZ::Vector2::CreateZero());
  98. }
  99. TEST_F(ScriptCanvasUnitTestVector2Functions, SetX_Call_GetExpectedResult)
  100. {
  101. auto actualResult = Vector2Functions::SetX(AZ::Vector2(1, 0), 0);
  102. EXPECT_EQ(actualResult, AZ::Vector2::CreateZero());
  103. }
  104. TEST_F(ScriptCanvasUnitTestVector2Functions, SetY_Call_GetExpectedResult)
  105. {
  106. auto actualResult = Vector2Functions::SetY(AZ::Vector2(0, 1), 0);
  107. EXPECT_EQ(actualResult, AZ::Vector2::CreateZero());
  108. }
  109. TEST_F(ScriptCanvasUnitTestVector2Functions, MultiplyByNumber_Call_GetExpectedResult)
  110. {
  111. auto actualResult = Vector2Functions::MultiplyByNumber(AZ::Vector2(1, 1), 0);
  112. EXPECT_EQ(actualResult, AZ::Vector2::CreateZero());
  113. }
  114. TEST_F(ScriptCanvasUnitTestVector2Functions, Negate_Call_GetExpectedResult)
  115. {
  116. auto actualResult = Vector2Functions::Negate(AZ::Vector2(1, 1));
  117. EXPECT_EQ(actualResult, AZ::Vector2(-1, -1));
  118. }
  119. TEST_F(ScriptCanvasUnitTestVector2Functions, Normalize_Call_GetExpectedResult)
  120. {
  121. auto actualResult = Vector2Functions::Normalize(AZ::Vector2(1, 0));
  122. EXPECT_EQ(actualResult, AZ::Vector2(1, 0));
  123. }
  124. TEST_F(ScriptCanvasUnitTestVector2Functions, Project_Call_GetExpectedResult)
  125. {
  126. auto actualResult = Vector2Functions::Project(AZ::Vector2(1, 0), AZ::Vector2(0, 1));
  127. EXPECT_EQ(actualResult, AZ::Vector2::CreateZero());
  128. }
  129. TEST_F(ScriptCanvasUnitTestVector2Functions, Slerp_Call_GetExpectedResult)
  130. {
  131. auto actualResult = Vector2Functions::Slerp(AZ::Vector2::CreateOne(), AZ::Vector2::CreateOne(), 0.5);
  132. EXPECT_EQ(actualResult, AZ::Vector2::CreateOne());
  133. }
  134. TEST_F(ScriptCanvasUnitTestVector2Functions, ToPerpendicular_Call_GetExpectedResult)
  135. {
  136. auto actualResult = Vector2Functions::ToPerpendicular(AZ::Vector2(1, 0));
  137. EXPECT_EQ(actualResult, AZ::Vector2(0, 1));
  138. }
  139. TEST_F(ScriptCanvasUnitTestVector2Functions, DirectionTo_Call_GetExpectedResult)
  140. {
  141. auto actualResult = Vector2Functions::DirectionTo(AZ::Vector2::CreateZero(), AZ::Vector2(1, 0), 1);
  142. EXPECT_EQ(AZStd::get<0>(actualResult), AZ::Vector2(1, 0));
  143. EXPECT_EQ(AZStd::get<1>(actualResult), 1);
  144. }
  145. } // namespace ScriptCanvasUnitTest