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 : C4982800
- Test Case Title : Verify that the shape Sphere can be selected from the drop downlist and the value for its radius can be set
- """
- # fmt: off
- class Tests():
- entity_created = ("Test Entity created successfully", "Failed to create Test Entity")
- collider_added = ("PhysX Primitive Collider added successfully", "Failed to add PhysX Primitive Collider")
- collider_shape_changed = ("PhysX Primitive Collider shape changed successfully", "Failed change PhysX Primitive Collider shape")
- shape_dimensions_changed = ("Shape dimensions modified successfully", "Failed to modify Shape dimensions")
- # fmt: on
- def Collider_SphereShapeEditing():
- """
- Summary:
- Adding PhysX Primitive Collider and Shape components to test entity, then attempting to modify the shape's dimensions
- Expected Behavior:
- Sphere shape can be selected for the Shape Component and the value for Radius can be changed
- Test Steps:
- 1) Load the empty level
- 2) Create the test entity
- 3) Add PhysX Primitive Collider component to test entity
- 4) Change the PhysX Primitive Collider shape and store the original dimensions
- 5) Modify the dimensions
- 6) Verify they have been changed
- Note:
- - This test file must be called from the Open 3D Engine Editor command terminal
- - Any passed and failed tests are written to the Editor.log file.
- Parsing the file or running a log_monitor are required to observe the test results.
- :return: None
- """
- # Helper Files
- from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity
- from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
- from consts.physics import PHYSX_PRIMITIVE_COLLIDER
- # Open 3D Engine Imports
- import azlmbr.math as math
- SPHERE_SHAPETYPE_ENUM = 0
- DIMENSION_TO_SET = 2.5
- DIMENSION_SIZE_TOLERANCE = 0.5
- helper.init_idle()
- # 1) Load the empty level
- helper.open_level("", "Base")
- # 2) Create the test entity
- test_entity = Entity.create_editor_entity("Test Entity")
- test_entity.add_component("PhysX Static Rigid Body")
- Report.result(Tests.entity_created, test_entity.id.IsValid())
- # 3) Add PhysX Primitive Collider component to test entity
- test_component = test_entity.add_component(PHYSX_PRIMITIVE_COLLIDER)
- Report.result(Tests.collider_added, test_entity.has_component(PHYSX_PRIMITIVE_COLLIDER))
- # 4) Change the PhysX Primitive Collider shape and store the original dimensions
- test_component.set_component_property_value("Shape Configuration|Shape", SPHERE_SHAPETYPE_ENUM)
- add_check = test_component.get_component_property_value("Shape Configuration|Shape") == SPHERE_SHAPETYPE_ENUM
- Report.result(Tests.collider_shape_changed, add_check)
- # 5) Modify the dimensions
- test_component.set_component_property_value("Shape Configuration|Sphere|Radius", DIMENSION_TO_SET)
- # 6) Verify they have been changed
- modified_dimensions = test_component.get_component_property_value("Shape Configuration|Sphere|Radius")
- dimensions_successfully_modified = math.Math_IsClose(
- DIMENSION_TO_SET, modified_dimensions, DIMENSION_SIZE_TOLERANCE
- )
- if not dimensions_successfully_modified:
- assert (
- False
- ), f"The modified value was not within the allowed tolerance\nExpected:{DIMENSION_TO_SET}\nActual: {modified_dimensions}"
- Report.result(Tests.shape_dimensions_changed, dimensions_successfully_modified)
- if __name__ == "__main__":
- from editor_python_test_tools.utils import Report
- Report.start_test(Collider_SphereShapeEditing)
|