1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- """
- 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 ID : C29279329
- # Test Case Title : White Box mesh shape can be changed with the Default Shape dropdown on the Component
- # fmt:off
- class Tests():
- default_shape_cube = ("Default shape set to cube", "Default shape is not set to cube")
- default_shape_tetrahedron = ("Default shape changed to tetrahedron", "Failed to change default shape to tetrahedron")
- default_shape_icosahedron = ("Default shape changed to icosahedron", "Failed to change default shape to icosahedron")
- default_shape_cylinder = ("Default shape changed to cylinder", "Failed to change default shape to cylinder")
- default_shape_sphere = ("Default shape changed to sphere", "Failed to change default shape to sphere")
- # fmt:on
- critical_shape_check = ("Default shape has more than 0 sides", "default shape has 0 sides")
- def C29279329_WhiteBox_SetDefaultShape():
- import azlmbr.bus as bus
- import editor_python_test_tools.hydra_editor_utils as hydra
- import WhiteBoxInit as init
- from editor_python_test_tools.utils import Report
- def check_shape_result(success_fail_tuple, condition):
- result = Report.result(success_fail_tuple, condition)
- if not result:
- face_count = white_box_handle.MeshFaceCount()
- Report.critical_result(critical_shape_check, face_count > 0)
- Report.info(f"Face count = {face_count}")
- shape_types = azlmbr.globals.property
- # expected results
- expected_results = {
- shape_types.CUBE: 12,
- shape_types.TETRAHEDRON: 4,
- shape_types.ICOSAHEDRON: 20,
- shape_types.CYLINDER: 64,
- shape_types.SPHERE: 320
- }
- # open level
- hydra.open_base_level()
- # create white box entity and attach component
- white_box_entity = init.create_white_box_entity()
- white_box_mesh_component = init.create_white_box_component(white_box_entity)
- white_box_handle = init.create_white_box_handle(white_box_mesh_component)
- # verify results
- # cube
- check_shape_result(
- Tests.default_shape_cube,
- white_box_handle.MeshFaceCount() == expected_results.get(shape_types.CUBE))
- # tetrahedron
- azlmbr.whitebox.request.bus.EditorWhiteBoxComponentRequestBus(
- bus.Event, 'SetDefaultShape', white_box_mesh_component, shape_types.TETRAHEDRON)
- check_shape_result(
- Tests.default_shape_tetrahedron,
- white_box_handle.MeshFaceCount() == expected_results.get(shape_types.TETRAHEDRON))
- # icosahedron
- azlmbr.whitebox.request.bus.EditorWhiteBoxComponentRequestBus(
- bus.Event, 'SetDefaultShape', white_box_mesh_component, shape_types.ICOSAHEDRON)
- check_shape_result(
- Tests.default_shape_icosahedron,
- white_box_handle.MeshFaceCount() == expected_results.get(shape_types.ICOSAHEDRON))
- # cylinder
- azlmbr.whitebox.request.bus.EditorWhiteBoxComponentRequestBus(
- bus.Event, 'SetDefaultShape', white_box_mesh_component, shape_types.CYLINDER)
- check_shape_result(
- Tests.default_shape_cylinder,
- white_box_handle.MeshFaceCount() == expected_results.get(shape_types.CYLINDER))
- # sphere
- azlmbr.whitebox.request.bus.EditorWhiteBoxComponentRequestBus(
- bus.Event, 'SetDefaultShape', white_box_mesh_component, shape_types.SPHERE)
- check_shape_result(
- Tests.default_shape_sphere,
- white_box_handle.MeshFaceCount() == expected_results.get(shape_types.SPHERE))
- if __name__ == "__main__":
- from editor_python_test_tools.utils import Report
- Report.start_test(C29279329_WhiteBox_SetDefaultShape)
|