mirror of
https://github.com/blender/blender
synced 2026-09-29 04:37:17 +03:00
Tests: Add multires reshape and delete higher tests
Pull Request: https://projects.blender.org/blender/blender/pulls/159453
This commit is contained in:
parent
b751b3664f
commit
615bd0750d
3 changed files with 26 additions and 3 deletions
|
|
@ -17,7 +17,7 @@ blender -b --factory-startup tests/files/modeling/modifiers/multires_modifier --
|
|||
|
||||
BASE_DIR = os.path.dirname(os.path.realpath(__file__))
|
||||
sys.path.append(os.path.join(BASE_DIR, "..", ".."))
|
||||
from modules.mesh_test import RunTest, ModifierSpec, SpecMeshTest, OperatorSpec
|
||||
from modules.mesh_test import RunTest, ModifierSpec, SpecMeshTest, OperatorSpec, SelectObjectSpec
|
||||
|
||||
|
||||
def main():
|
||||
|
|
@ -52,6 +52,15 @@ def main():
|
|||
OperatorSpec('OBJECT', 'object.multires_subdivide', {'modifier': 'multires', 'mode': 'LINEAR'}),
|
||||
OperatorSpec('OBJECT', 'object.modifier_apply', {'modifier': 'multires'})
|
||||
], apply_modifier=False),
|
||||
SpecMeshTest("Reshape", "testReshapeSuzanne", "expectedReshapeSuzanne",
|
||||
[
|
||||
SelectObjectSpec("reshapeTargetSuzanne"),
|
||||
OperatorSpec('OBJECT', 'object.multires_reshape', {'modifier': 'Multires'})
|
||||
], apply_modifier=False),
|
||||
SpecMeshTest("DeleteHigher", "testDeleteHigherSuzanne", "expectedDeleteHigherSuzanne",
|
||||
[
|
||||
OperatorSpec('OBJECT', 'object.multires_higher_levels_delete', {'modifier': 'Multires'})
|
||||
], apply_modifier=False)
|
||||
]
|
||||
|
||||
modifiers_test = RunTest(tests)
|
||||
|
|
|
|||
|
|
@ -160,6 +160,14 @@ class OperatorSpec:
|
|||
" with parameters: " + str(self.operator_parameters)
|
||||
|
||||
|
||||
class SelectObjectSpec:
|
||||
def __init__(self, object_name: str):
|
||||
self.object_name = object_name
|
||||
|
||||
def __str__(self):
|
||||
return "Selecting: " + self.object_name
|
||||
|
||||
|
||||
class DeformModifierSpec:
|
||||
"""
|
||||
Holds a list of deform modifier and OperatorSpec.
|
||||
|
|
@ -539,6 +547,9 @@ class SpecMeshTest(MeshTest):
|
|||
elif isinstance(operation, OperatorSpec):
|
||||
self._apply_operator(operation)
|
||||
|
||||
elif isinstance(operation, SelectObjectSpec):
|
||||
self._select_other_object(operation)
|
||||
|
||||
elif isinstance(operation, DeformModifierSpec):
|
||||
self._apply_deform_modifier(evaluated_test_object, operation)
|
||||
|
||||
|
|
@ -771,6 +782,9 @@ class SpecMeshTest(MeshTest):
|
|||
if operator.mode != 'OBJECT':
|
||||
bpy.ops.object.mode_set(mode='OBJECT')
|
||||
|
||||
def _select_other_object(self, operator: SelectObjectSpec):
|
||||
bpy.data.objects[operator.object_name].select_set(True)
|
||||
|
||||
def _apply_deform_modifier(self, test_object, operation: DeformModifierSpec):
|
||||
"""
|
||||
arg: operation: DeformModifierSpec: the modifier spec
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue