Switched GradientSignal to use GemTestEnvironment. (#6886)

This allows actual Shape components to be used instead of MockShapes, which is important for the benchmarks to get accurate results as Mocks are extremely expensive.  It also removes a lot of unnecessary mock handling and test setup code.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
This commit is contained in:
Mike Balfour
2022-01-13 14:44:59 -06:00
committed by GitHub
parent a99bf8ff1a
commit 62e7483b0e
9 changed files with 193 additions and 220 deletions
@@ -55,7 +55,7 @@ namespace UnitTest
config.m_layers.push_back(layer);
auto entity = CreateEntity();
CreateComponent<GradientSignal::MixedGradientComponent>(entity.get(), config);
entity->CreateComponent<GradientSignal::MixedGradientComponent>(config);
ActivateEntity(entity.get());
TestFixedDataSampler(expectedOutput, dataSize, entity->GetId());
@@ -88,7 +88,7 @@ namespace UnitTest
config.m_smoothStep.m_falloffStrength = falloffStrength;
auto entity = CreateEntity();
CreateComponent<GradientSignal::SurfaceSlopeGradientComponent>(entity.get(), config);
entity->CreateComponent<GradientSignal::SurfaceSlopeGradientComponent>(config);
ActivateEntity(entity.get());
TestFixedDataSampler(expectedOutput, dataSize, entity->GetId());
@@ -391,7 +391,7 @@ namespace UnitTest
GradientSignal::ReferenceGradientConfig referenceGradientConfig1;
referenceGradientConfig1.m_gradientSampler.m_ownerEntityId = referenceGradientEntity1->GetId();
referenceGradientConfig1.m_gradientSampler.m_gradientId = constantGradientEntity->GetId();
CreateComponent<GradientSignal::ReferenceGradientComponent>(referenceGradientEntity1.get(), referenceGradientConfig1);
referenceGradientEntity1->CreateComponent<GradientSignal::ReferenceGradientComponent>(referenceGradientConfig1);
ActivateEntity(referenceGradientEntity1.get());
EXPECT_TRUE(referenceGradientConfig1.m_gradientSampler.ValidateGradientEntityId());
@@ -400,7 +400,7 @@ namespace UnitTest
GradientSignal::ReferenceGradientConfig referenceGradientConfig2;
referenceGradientConfig2.m_gradientSampler.m_ownerEntityId = referenceGradientEntity2->GetId();
referenceGradientConfig2.m_gradientSampler.m_gradientId = referenceGradientEntity1->GetId();
CreateComponent<GradientSignal::ReferenceGradientComponent>(referenceGradientEntity2.get(), referenceGradientConfig2);
referenceGradientEntity2->CreateComponent<GradientSignal::ReferenceGradientComponent>(referenceGradientConfig2);
ActivateEntity(referenceGradientEntity2.get());
EXPECT_TRUE(referenceGradientConfig2.m_gradientSampler.ValidateGradientEntityId());
@@ -409,7 +409,7 @@ namespace UnitTest
GradientSignal::ReferenceGradientConfig referenceGradientConfig3;
referenceGradientConfig3.m_gradientSampler.m_ownerEntityId = referenceGradientEntity3->GetId();
referenceGradientConfig3.m_gradientSampler.m_gradientId = referenceGradientEntity3->GetId();
CreateComponent<GradientSignal::ReferenceGradientComponent>(referenceGradientEntity3.get(), referenceGradientConfig3);
referenceGradientEntity3->CreateComponent<GradientSignal::ReferenceGradientComponent>(referenceGradientConfig3);
ActivateEntity(referenceGradientEntity3.get());
EXPECT_FALSE(referenceGradientConfig3.m_gradientSampler.ValidateGradientEntityId());
EXPECT_EQ(referenceGradientConfig3.m_gradientSampler.m_gradientId, AZ::EntityId());
@@ -422,19 +422,19 @@ namespace UnitTest
GradientSignal::ReferenceGradientConfig referenceGradientConfig4;
referenceGradientConfig4.m_gradientSampler.m_ownerEntityId = referenceGradientEntity4->GetId();
referenceGradientConfig4.m_gradientSampler.m_gradientId = referenceGradientEntity5->GetId();
CreateComponent<GradientSignal::ReferenceGradientComponent>(referenceGradientEntity4.get(), referenceGradientConfig4);
referenceGradientEntity4->CreateComponent<GradientSignal::ReferenceGradientComponent>(referenceGradientConfig4);
ActivateEntity(referenceGradientEntity4.get());
GradientSignal::ReferenceGradientConfig referenceGradientConfig5;
referenceGradientConfig5.m_gradientSampler.m_ownerEntityId = referenceGradientEntity5->GetId();
referenceGradientConfig5.m_gradientSampler.m_gradientId = referenceGradientEntity6->GetId();
CreateComponent<GradientSignal::ReferenceGradientComponent>(referenceGradientEntity5.get(), referenceGradientConfig5);
referenceGradientEntity5->CreateComponent<GradientSignal::ReferenceGradientComponent>(referenceGradientConfig5);
ActivateEntity(referenceGradientEntity5.get());
GradientSignal::ReferenceGradientConfig referenceGradientConfig6;
referenceGradientConfig6.m_gradientSampler.m_ownerEntityId = referenceGradientEntity6->GetId();
referenceGradientConfig6.m_gradientSampler.m_gradientId = referenceGradientEntity4->GetId();
CreateComponent<GradientSignal::ReferenceGradientComponent>(referenceGradientEntity6.get(), referenceGradientConfig6);
referenceGradientEntity6->CreateComponent<GradientSignal::ReferenceGradientComponent>(referenceGradientConfig6);
ActivateEntity(referenceGradientEntity6.get());
EXPECT_FALSE(referenceGradientConfig6.m_gradientSampler.ValidateGradientEntityId());
@@ -456,7 +456,7 @@ namespace UnitTest
// Create an AABB from -1 to 1, so points at coorindates 0 and 1 fall on it, but any points at coordinate 2 won't.
auto entityShape = CreateEntity();
CreateComponent<MockShapeComponent>(entityShape.get());
entityShape->CreateComponent<MockShapeComponent>();
MockShapeComponentHandler mockShapeComponentHandler(entityShape->GetId());
mockShapeComponentHandler.m_GetEncompassingAabb = AZ::Aabb::CreateFromMinMax(AZ::Vector3(-1.0f), AZ::Vector3(1.0f));
@@ -466,7 +466,7 @@ namespace UnitTest
config.m_falloffType = GradientSignal::FalloffType::Outer;
auto entity = CreateEntity();
CreateComponent<GradientSignal::ShapeAreaFalloffGradientComponent>(entity.get(), config);
entity->CreateComponent<GradientSignal::ShapeAreaFalloffGradientComponent>(config);
ActivateEntity(entity.get());
TestFixedDataSampler(expectedOutput, dataSize, entity->GetId());
@@ -481,7 +481,7 @@ namespace UnitTest
// Create our test shape from -1 to 0, so we have a corner directly on (0, 0).
auto entityShape = CreateEntity();
CreateComponent<MockShapeComponent>(entityShape.get());
entityShape->CreateComponent<MockShapeComponent>();
MockShapeComponentHandler mockShapeComponentHandler(entityShape->GetId());
mockShapeComponentHandler.m_GetEncompassingAabb = AZ::Aabb::CreateFromMinMax(AZ::Vector3(-1.0f), AZ::Vector3(0.0f));
@@ -512,7 +512,7 @@ namespace UnitTest
}
auto entity = CreateEntity();
CreateComponent<GradientSignal::ShapeAreaFalloffGradientComponent>(entity.get(), config);
entity->CreateComponent<GradientSignal::ShapeAreaFalloffGradientComponent>(config);
ActivateEntity(entity.get());
TestFixedDataSampler(expectedOutput, dataSize, entity->GetId());
@@ -533,7 +533,7 @@ namespace UnitTest
// We're pinning a shape, so the bounding box of (0, 0, 0) - (10, 10, 10) will be the one that applies.
auto entityShape = CreateEntity();
CreateComponent<MockShapeComponent>(entityShape.get());
entityShape->CreateComponent<MockShapeComponent>();
MockShapeComponentHandler mockShapeComponentHandler(entityShape->GetId());
mockShapeComponentHandler.m_GetEncompassingAabb = AZ::Aabb::CreateFromMinMax(AZ::Vector3::CreateZero(), AZ::Vector3(10.0f));
@@ -551,7 +551,7 @@ namespace UnitTest
config.m_altitudeMax = 24.0f;
auto entity = CreateEntity();
CreateComponent<GradientSignal::SurfaceAltitudeGradientComponent>(entity.get(), config);
entity->CreateComponent<GradientSignal::SurfaceAltitudeGradientComponent>(config);
ActivateEntity(entity.get());
TestFixedDataSampler(expectedOutput, dataSize, entity->GetId());
@@ -584,7 +584,7 @@ namespace UnitTest
config.m_altitudeMax = 10.0f;
auto entity = CreateEntity();
CreateComponent<GradientSignal::SurfaceAltitudeGradientComponent>(entity.get(), config);
entity->CreateComponent<GradientSignal::SurfaceAltitudeGradientComponent>(config);
ActivateEntity(entity.get());
TestFixedDataSampler(expectedOutput, dataSize, entity->GetId());
@@ -612,7 +612,7 @@ namespace UnitTest
config.m_altitudeMax = 15.0f;
auto entity = CreateEntity();
CreateComponent<GradientSignal::SurfaceAltitudeGradientComponent>(entity.get(), config);
entity->CreateComponent<GradientSignal::SurfaceAltitudeGradientComponent>(config);
ActivateEntity(entity.get());
TestFixedDataSampler(expectedOutput, dataSize, entity->GetId());
@@ -649,7 +649,7 @@ namespace UnitTest
config.m_altitudeMax = 15.0f;
auto entity = CreateEntity();
CreateComponent<GradientSignal::SurfaceAltitudeGradientComponent>(entity.get(), config);
entity->CreateComponent<GradientSignal::SurfaceAltitudeGradientComponent>(config);
ActivateEntity(entity.get());
TestFixedDataSampler(expectedOutput, dataSize, entity->GetId());
@@ -684,7 +684,7 @@ namespace UnitTest
config.m_surfaceTagList.push_back(AZ_CRC("test_mask", 0x7a16e9ff));
auto entity = CreateEntity();
CreateComponent<GradientSignal::SurfaceMaskGradientComponent>(entity.get(), config);
entity->CreateComponent<GradientSignal::SurfaceMaskGradientComponent>(config);
ActivateEntity(entity.get());
TestFixedDataSampler(expectedOutput, dataSize, entity->GetId());
@@ -711,7 +711,7 @@ namespace UnitTest
config.m_surfaceTagList.push_back(AZ_CRC("test_mask", 0x7a16e9ff));
auto entity = CreateEntity();
CreateComponent<GradientSignal::SurfaceMaskGradientComponent>(entity.get(), config);
entity->CreateComponent<GradientSignal::SurfaceMaskGradientComponent>(config);
ActivateEntity(entity.get());
TestFixedDataSampler(expectedOutput, dataSize, entity->GetId());