From 12cbba5fad5a2d0b9e1a82c3461c4856ee4b81ba Mon Sep 17 00:00:00 2001 From: greerdv Date: Tue, 20 Apr 2021 17:42:38 +0100 Subject: [PATCH] adding test for Aabb::MultiplyByScale --- Code/Framework/AzCore/AzCore/Math/Aabb.inl | 1 + Code/Framework/AzCore/Tests/Math/AabbTests.cpp | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/Code/Framework/AzCore/AzCore/Math/Aabb.inl b/Code/Framework/AzCore/AzCore/Math/Aabb.inl index 25a03d20b9..13549a30f6 100644 --- a/Code/Framework/AzCore/AzCore/Math/Aabb.inl +++ b/Code/Framework/AzCore/AzCore/Math/Aabb.inl @@ -296,6 +296,7 @@ namespace AZ { m_min *= scale; m_max *= scale; + AZ_MATH_ASSERT(IsValid(), "Min must be less than Max"); } diff --git a/Code/Framework/AzCore/Tests/Math/AabbTests.cpp b/Code/Framework/AzCore/Tests/Math/AabbTests.cpp index 6b7317f5b3..44cc800616 100644 --- a/Code/Framework/AzCore/Tests/Math/AabbTests.cpp +++ b/Code/Framework/AzCore/Tests/Math/AabbTests.cpp @@ -446,4 +446,17 @@ namespace UnitTest EXPECT_THAT(transformedAabb.GetMin(), IsClose(aabbContainingTransformedObb.GetMin())); EXPECT_THAT(transformedAabb.GetMax(), IsClose(aabbContainingTransformedObb.GetMax())); } + + TEST(MATH_AabbTransform, MultiplyByScale) + { + Vector3 min(2.0f, 6.0f, 8.0f); + Vector3 max(6.0f, 9.0f, 10.0f); + Aabb aabb = Aabb::CreateFromMinMax(min, max); + + Vector3 scale(0.5f, 2.0f, 1.5f); + aabb.MultiplyByScale(scale); + + EXPECT_THAT(aabb.GetMin(), IsClose(Vector3(1.0f, 12.0f, 12.0f))); + EXPECT_THAT(aabb.GetMax(), IsClose(Vector3(3.0f, 18.0f, 15.0f))); + } }