Focus Mode | Improvements to GetFocusedEntities (#7708)
* Ensure that the system works at startup and after Clear. Ensure the invalid entityId is not added to the list. Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com> * Return a const reference to the list of entities in FocusModeInterface Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com> * Fix SetFocusRoot to trigger notifications appropriately Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com> * Optimize the entity removal via swap and pop, since we don't care about the order. Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com> * Introduce additional check to prevent possibly adding the same entity to the list twice. Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com> * Fix mock after API changes Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com> * Typo. Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com> * Fixed logic that needed to be updated when the code was moved. Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
This commit is contained in:
@@ -31,18 +31,58 @@ namespace UnitTest
|
||||
EXPECT_EQ(m_focusModeInterface->GetFocusRoot(m_editorEntityContextId), AZ::EntityId());
|
||||
}
|
||||
|
||||
TEST_F(EditorFocusModeFixture, GetFocusedEntitiesRoot)
|
||||
{
|
||||
AzToolsFramework::EntityIdList entities = m_focusModeInterface->GetFocusedEntities(m_editorEntityContextId);
|
||||
|
||||
using ::testing::UnorderedElementsAre;
|
||||
EXPECT_EQ(entities.size(), 6);
|
||||
EXPECT_THAT(
|
||||
entities,
|
||||
UnorderedElementsAre(
|
||||
m_entityMap[CityEntityName],
|
||||
m_entityMap[StreetEntityName],
|
||||
m_entityMap[CarEntityName],
|
||||
m_entityMap[Passenger1EntityName],
|
||||
m_entityMap[SportsCarEntityName],
|
||||
m_entityMap[Passenger2EntityName]
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
TEST_F(EditorFocusModeFixture, GetFocusedEntitiesClear)
|
||||
{
|
||||
m_focusModeInterface->ClearFocusRoot(m_editorEntityContextId);
|
||||
|
||||
AzToolsFramework::EntityIdList entities = m_focusModeInterface->GetFocusedEntities(m_editorEntityContextId);
|
||||
|
||||
using ::testing::UnorderedElementsAre;
|
||||
EXPECT_EQ(entities.size(), 6);
|
||||
EXPECT_THAT(
|
||||
entities,
|
||||
UnorderedElementsAre(
|
||||
m_entityMap[CityEntityName], m_entityMap[StreetEntityName], m_entityMap[CarEntityName], m_entityMap[Passenger1EntityName],
|
||||
m_entityMap[SportsCarEntityName], m_entityMap[Passenger2EntityName]));
|
||||
}
|
||||
|
||||
TEST_F(EditorFocusModeFixture, GetFocusedEntitiesBase)
|
||||
{
|
||||
m_focusModeInterface->SetFocusRoot(m_entityMap[StreetEntityName]);
|
||||
|
||||
AzToolsFramework::EntityIdList entities = m_focusModeInterface->GetFocusedEntities(m_editorEntityContextId);
|
||||
|
||||
using ::testing::UnorderedElementsAre;
|
||||
EXPECT_EQ(entities.size(), 5);
|
||||
EXPECT_TRUE(AZStd::find(entities.begin(), entities.end(), m_entityMap[StreetEntityName]) != entities.end());
|
||||
EXPECT_TRUE(AZStd::find(entities.begin(), entities.end(), m_entityMap[CarEntityName]) != entities.end());
|
||||
EXPECT_TRUE(AZStd::find(entities.begin(), entities.end(), m_entityMap[Passenger1EntityName]) != entities.end());
|
||||
EXPECT_TRUE(AZStd::find(entities.begin(), entities.end(), m_entityMap[SportsCarEntityName]) != entities.end());
|
||||
EXPECT_TRUE(AZStd::find(entities.begin(), entities.end(), m_entityMap[Passenger2EntityName]) != entities.end());
|
||||
EXPECT_THAT(
|
||||
entities,
|
||||
UnorderedElementsAre(
|
||||
m_entityMap[StreetEntityName],
|
||||
m_entityMap[CarEntityName],
|
||||
m_entityMap[Passenger1EntityName],
|
||||
m_entityMap[SportsCarEntityName],
|
||||
m_entityMap[Passenger2EntityName]
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
TEST_F(EditorFocusModeFixture, GetFocusedEntitiesSiblings)
|
||||
@@ -51,9 +91,9 @@ namespace UnitTest
|
||||
|
||||
AzToolsFramework::EntityIdList entities = m_focusModeInterface->GetFocusedEntities(m_editorEntityContextId);
|
||||
|
||||
using ::testing::UnorderedElementsAre;
|
||||
EXPECT_EQ(entities.size(), 2);
|
||||
EXPECT_TRUE(AZStd::find(entities.begin(), entities.end(), m_entityMap[SportsCarEntityName]) != entities.end());
|
||||
EXPECT_TRUE(AZStd::find(entities.begin(), entities.end(), m_entityMap[Passenger2EntityName]) != entities.end());
|
||||
EXPECT_THAT(entities, UnorderedElementsAre(m_entityMap[SportsCarEntityName], m_entityMap[Passenger2EntityName]));
|
||||
}
|
||||
|
||||
TEST_F(EditorFocusModeFixture, GetFocusedEntitiesAddEntity)
|
||||
|
||||
Reference in New Issue
Block a user