responded to code reviews
Signed-off-by: kritin <kritin@amazon.com>monroegm-disable-blank-issue-2
parent
b7e3a63fae
commit
f1fe2912e4
@ -1,143 +0,0 @@
|
||||
"""
|
||||
Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
|
||||
Test Case: Creating tests for basic editor feature like creating a level, adding new entities, modifying the entities etc.
|
||||
"""
|
||||
|
||||
|
||||
class Tests:
|
||||
create_level = ("Level created and loaded successfully", "Failed to create the level")
|
||||
open_level = ("Level loaded successfully", "Failed to load the level")
|
||||
create_entity = ("Parent entity created successfully", "Failed to create a parent entity")
|
||||
set_entity_name = ("Entity name set successfully", "Failed to set entity name")
|
||||
delete_entity = ("Parent entity deleted successfully", "Failed to delete parent entity")
|
||||
game_mode_enter = ("Game Mode entered successfully", "Failed to enter the game mode")
|
||||
game_mode_exit = ("Game mode exited successfully", "Failed to exit game mode")
|
||||
create_child_entity = ("Child entity created successfully", "Failed to create a child entity")
|
||||
delete_child_entity = ("Child entity deleted successfully", "Failed to delete child entity")
|
||||
add_mesh_component = ("Mesh component added successfully", "Failed to add mesh component")
|
||||
found_component_typeId = ("Found component typeId", "Unable to find component TypeId")
|
||||
remove_mesh_component = ("Mesh component removed successfully", "Failed to remove mesh component")
|
||||
|
||||
|
||||
def sample_editor_tests():
|
||||
"""
|
||||
Performing basic test in editor
|
||||
01. create_level if it does not exist else 02. open exiting level
|
||||
|
||||
03. create parent entity and set name
|
||||
04. create child entity
|
||||
05. delete child entity
|
||||
06. add mesh component
|
||||
07. remove mesh component
|
||||
08. enter game mode
|
||||
09. exit game_mode
|
||||
10. delete parent entity
|
||||
11. save level
|
||||
|
||||
"""
|
||||
import os
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
|
||||
import azlmbr.math as math
|
||||
import azlmbr.asset as asset
|
||||
import azlmbr.bus as bus
|
||||
import azlmbr.editor as editor
|
||||
import azlmbr.entity as entity
|
||||
import azlmbr.legacy.general as general
|
||||
import azlmbr.object
|
||||
|
||||
def search_entity(entity_to_search, entity_name):
|
||||
"""
|
||||
|
||||
:param entity_to_search: entity to be searched
|
||||
:param entity_name: name of the entity used in the set command
|
||||
:return: True if entity id exists in the entity_list
|
||||
False if entity id does not exist in the entity_list
|
||||
"""
|
||||
entity_list = []
|
||||
entity_search_filter = entity.SearchFilter()
|
||||
entity_search_filter.names = entity_name
|
||||
entity_list = entity.SearchBus(bus.Broadcast, 'SearchEntities', entity_search_filter)
|
||||
if entity_list:
|
||||
if entity_to_search in entity_list:
|
||||
return True
|
||||
return False
|
||||
return False
|
||||
|
||||
# 01. create_level
|
||||
|
||||
test_level = 'Simple'
|
||||
general.open_level_no_prompt(test_level)
|
||||
Report.result(Tests.create_level, general.get_current_level_name() == test_level)
|
||||
|
||||
# 02. load existing level - skipping this since this could alter existing level that other test depends on
|
||||
|
||||
# 03. create_entity and set name
|
||||
# Delete any exiting entity and Create a new Entity at the root level
|
||||
search_filter = azlmbr.entity.SearchFilter()
|
||||
all_entities = entity.SearchBus(azlmbr.bus.Broadcast, "SearchEntities", search_filter)
|
||||
editor.ToolsApplicationRequestBus(bus.Broadcast, "DeleteEntities", all_entities)
|
||||
parent_entity = editor.ToolsApplicationRequestBus(bus.Broadcast, "CreateNewEntity", entity.EntityId())
|
||||
Report.result(Tests.create_entity, parent_entity.IsValid())
|
||||
|
||||
# Setting a new name
|
||||
parent_entity_name = "Parent_1"
|
||||
editor.EditorEntityAPIBus(bus.Event, 'SetName', parent_entity, parent_entity_name)
|
||||
Report.result(Tests.set_entity_name,
|
||||
editor.EditorEntityInfoRequestBus(bus.Event, 'GetName', parent_entity) == parent_entity_name)
|
||||
|
||||
# 04. Creating child Entity and setting name to above created parent entity
|
||||
child_1_entity = editor.ToolsApplicationRequestBus(bus.Broadcast, 'CreateNewEntity', parent_entity)
|
||||
Report.result(Tests.create_child_entity, child_1_entity.IsValid())
|
||||
child_entity_name = "Child_1"
|
||||
editor.EditorEntityAPIBus(bus.Event, 'SetName', child_1_entity, child_entity_name)
|
||||
Report.result(Tests.set_entity_name,
|
||||
editor.EditorEntityInfoRequestBus(bus.Event, 'GetName', child_1_entity) == child_entity_name)
|
||||
|
||||
# 05. delete_Child_entity
|
||||
editor.ToolsApplicationRequestBus(bus.Broadcast, 'DeleteEntityById', child_1_entity)
|
||||
Report.result(Tests.delete_entity, search_entity(child_1_entity, "Child_1") == False)
|
||||
|
||||
# 06. add mesh component to parent entity
|
||||
type_id_list = editor.EditorComponentAPIBus(bus.Broadcast, 'FindComponentTypeIdsByEntityType', ["Mesh"],
|
||||
entity.EntityType().Game)
|
||||
if type_id_list is not None:
|
||||
component_outcome = editor.EditorComponentAPIBus(bus.Broadcast, 'AddComponentsOfType', parent_entity,
|
||||
type_id_list)
|
||||
Report.result(Tests.add_mesh_component, component_outcome.IsSuccess())
|
||||
else:
|
||||
Report.result(Tests.found_component_typeId, type_id_list is not None)
|
||||
|
||||
# 09. remove mesh component
|
||||
outcome_get_component = editor.EditorComponentAPIBus(bus.Broadcast, 'GetComponentOfType', parent_entity,
|
||||
type_id_list[0])
|
||||
if outcome_get_component.IsSuccess():
|
||||
component_entity_pair = outcome_get_component.GetValue()
|
||||
editor.EditorComponentAPIBus(bus.Broadcast, 'RemoveComponents', [component_entity_pair])
|
||||
component_exists = editor.EditorComponentAPIBus(bus.Broadcast, 'HasComponentOfType', parent_entity,
|
||||
type_id_list[0])
|
||||
mesh_test = True
|
||||
if component_exists:
|
||||
mesh_test = False
|
||||
Report.result(Tests.remove_mesh_component, mesh_test)
|
||||
else:
|
||||
Report.result(Tests.found_component_typeId, outcome_get_component.IsSuccess())
|
||||
|
||||
# 10. delete parent entity
|
||||
editor.ToolsApplicationRequestBus(azlmbr.bus.Broadcast, 'DeleteEntityById', parent_entity)
|
||||
Report.result(Tests.delete_entity, search_entity(parent_entity, "Parent_1") == False)
|
||||
|
||||
# Close editor without saving
|
||||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'ExitNoPrompt')
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
Report.start_test(sample_editor_tests)
|
||||
Loading…
Reference in New Issue