3
0

ScriptCanvasUnitTest_OBB.cpp 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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/OBB.h>
  10. namespace ScriptCanvasUnitTest
  11. {
  12. using namespace ScriptCanvas;
  13. using ScriptCanvasUnitTestOBBFunctions = ScriptCanvasUnitTestFixture;
  14. TEST_F(ScriptCanvasUnitTestOBBFunctions, FromAabb_Call_GetExpectedResult)
  15. {
  16. AZ::Aabb source = AZ::Aabb::CreateFromMinMax(AZ::Vector3(0, 0, 0), AZ::Vector3(1, 1, 1));
  17. auto actualResult = OBBFunctions::FromAabb(source);
  18. EXPECT_EQ(actualResult.GetPosition(), AZ::Vector3(0.5, 0.5, 0.5));
  19. EXPECT_EQ(actualResult.GetRotation(), AZ::Quaternion::CreateIdentity());
  20. EXPECT_EQ(actualResult.GetHalfLengths(), AZ::Vector3(0.5, 0.5, 0.5));
  21. }
  22. TEST_F(ScriptCanvasUnitTestOBBFunctions, FromPositionRotationAndHalfLengths_Call_GetExpectedResult)
  23. {
  24. auto actualResult = OBBFunctions::FromPositionRotationAndHalfLengths(
  25. AZ::Vector3(0.5, 0.5, 0.5), AZ::Quaternion::CreateIdentity(), AZ::Vector3(0.5, 0.5, 0.5));
  26. EXPECT_EQ(actualResult.GetPosition(), AZ::Vector3(0.5, 0.5, 0.5));
  27. EXPECT_EQ(actualResult.GetRotation(), AZ::Quaternion::CreateIdentity());
  28. EXPECT_EQ(actualResult.GetHalfLengths(), AZ::Vector3(0.5, 0.5, 0.5));
  29. }
  30. TEST_F(ScriptCanvasUnitTestOBBFunctions, IsFinite_Call_GetExpectedResult)
  31. {
  32. auto testobb = AZ::Obb::CreateFromPositionRotationAndHalfLengths(
  33. AZ::Vector3(0.5, 0.5, 0.5), AZ::Quaternion::CreateIdentity(), AZ::Vector3(0.5, 0.5, 0.5));
  34. auto actualResult = OBBFunctions::IsFinite(testobb);
  35. EXPECT_TRUE(actualResult);
  36. }
  37. TEST_F(ScriptCanvasUnitTestOBBFunctions, GetAxisX_Call_GetExpectedResult)
  38. {
  39. auto testobb = AZ::Obb::CreateFromPositionRotationAndHalfLengths(
  40. AZ::Vector3(0.5, 0.5, 0.5), AZ::Quaternion::CreateIdentity(), AZ::Vector3(0.5, 0.5, 0.5));
  41. auto actualResult = OBBFunctions::GetAxisX(testobb);
  42. EXPECT_EQ(actualResult, AZ::Vector3(1, 0, 0));
  43. }
  44. TEST_F(ScriptCanvasUnitTestOBBFunctions, GetAxisY_Call_GetExpectedResult)
  45. {
  46. auto testobb = AZ::Obb::CreateFromPositionRotationAndHalfLengths(
  47. AZ::Vector3(0.5, 0.5, 0.5), AZ::Quaternion::CreateIdentity(), AZ::Vector3(0.5, 0.5, 0.5));
  48. auto actualResult = OBBFunctions::GetAxisY(testobb);
  49. EXPECT_EQ(actualResult, AZ::Vector3(0, 1, 0));
  50. }
  51. TEST_F(ScriptCanvasUnitTestOBBFunctions, GetAxisZ_Call_GetExpectedResult)
  52. {
  53. auto testobb = AZ::Obb::CreateFromPositionRotationAndHalfLengths(
  54. AZ::Vector3(0.5, 0.5, 0.5), AZ::Quaternion::CreateIdentity(), AZ::Vector3(0.5, 0.5, 0.5));
  55. auto actualResult = OBBFunctions::GetAxisZ(testobb);
  56. EXPECT_EQ(actualResult, AZ::Vector3(0, 0, 1));
  57. }
  58. TEST_F(ScriptCanvasUnitTestOBBFunctions, GetPosition_Call_GetExpectedResult)
  59. {
  60. auto testobb = AZ::Obb::CreateFromPositionRotationAndHalfLengths(
  61. AZ::Vector3(0.5, 0.5, 0.5), AZ::Quaternion::CreateIdentity(), AZ::Vector3(0.5, 0.5, 0.5));
  62. auto actualResult = OBBFunctions::GetPosition(testobb);
  63. EXPECT_EQ(actualResult, AZ::Vector3(0.5, 0.5, 0.5));
  64. }
  65. } // namespace ScriptCanvasUnitTest