diff --git a/tests/MetaCoreSmokeTests.cpp b/tests/MetaCoreSmokeTests.cpp index c96b3eb..a6a6add 100644 --- a/tests/MetaCoreSmokeTests.cpp +++ b/tests/MetaCoreSmokeTests.cpp @@ -345,12 +345,16 @@ void MetaCoreTestHierarchyEditingCommandsDirtyAndUndo() { std::optional{0} ); MetaCoreExpect(createdId.has_value(), "CreateGameObject command should create an object"); + MetaCoreExpect(editorContext.GetActiveObjectId() == *createdId, "CreateGameObject command should select the created object"); MetaCoreExpect(scenePersistenceService->IsSceneDirty(), "CreateGameObject command should mark scene dirty"); MetaCoreExpect(editorContext.UndoCommand(), "Undo CreateGameObject should succeed"); MetaCoreExpect(scene.GetGameObjects().size() == baselineCount, "Undo CreateGameObject should restore object count"); + MetaCoreExpect(editorContext.GetActiveObjectId() == 0, "Undo CreateGameObject should restore previous empty active selection"); + MetaCoreExpect(editorContext.GetSelectedObjectIds().empty(), "Undo CreateGameObject should restore previous empty selection"); MetaCoreExpect(!scenePersistenceService->IsSceneDirty(), "Undo CreateGameObject should restore clean baseline"); MetaCoreExpect(editorContext.RedoCommand(), "Redo CreateGameObject should succeed"); MetaCoreExpect(scene.FindGameObject(*createdId), "Redo CreateGameObject should restore created object"); + MetaCoreExpect(editorContext.GetActiveObjectId() == *createdId, "Redo CreateGameObject should restore created object selection"); MetaCoreExpect(scenePersistenceService->IsSceneDirty(), "Redo CreateGameObject should mark scene dirty again"); MetaCoreExpect(scenePersistenceService->SaveCurrentScene(editorContext), "Hierarchy command scene should save after create");