manipulation_validation_gating_regression_test

AUTO-GENERATED FILE – DO NOT EDIT MANUALLY

CRITICAL REGRESSION TEST: Placement validation failure should prevent movement

Source File: /addons/grid_building/test/manipulation/regression/manipulation_validation_gating_regression_test.gd

Extends: GdUnitTestSuite

Properties

  • Property: runner: GdUnitSceneRunner
  • Property: env: [AllSystemsTestEnvironment](./all-systems-test-environment/)
  • Property: manipulation_system: [ManipulationSystem](./manipulation-system/)
  • Property: collision_body: StaticBody2D

Private Properties

  • Property: _container: [GBCompositionContainer](./gb-composition-container/) (private)

Constants

  • Constant: ManipulationSystem = preload('res://addons/grid_building/systems/manipulation/manipulation_system.gd')
  • Constant: ManipulationHelpers := preload("res://addons/grid_building/test/manipulation/regression/manipulation_test_helpers.gd")

Public Methods

before

1
before() -> void

before_test

1
before_test() -> void

after_test

1
after_test() -> void

after

1
after() -> void

test_validation_failure_prevents_object_movement

1
test_validation_failure_prevents_object_movement() -> void

CRITICAL REGRESSION TEST: Validation failure must prevent object movement

Bug: When try_placement() validation fails due to collision rules, the source object is still moved to the target position despite the failure.

Expected: Object should remain at original position when validation fails.


test_validation_success_allows_object_movement

1
test_validation_success_allows_object_movement() -> void

Test: Successful validation allows object movement (control test)

This test ensures that when validation succeeds, the object DOES move. Uses NO collision rules to guarantee success.


test_move_placement_combines_base_and_move_rules

1
test_move_placement_combines_base_and_move_rules() -> void

Regression: Base placement rules must still apply during move placement even when the manipulatable provides no move-specific rules. The base rules should combine with move rules to block invalid placements.


Private Methods

_setup_targeting_state

1
_setup_targeting_state() -> void

Flags: private


_create_test_manipulatable_with_collision_rules

1
_create_test_manipulatable_with_collision_rules() -> Manipulatable

Flags: private


_create_collision_obstacle_at_position

1
_create_collision_obstacle_at_position(position: Vector2) -> StaticBody2D

Flags: private



Grid Building v5.0.8 | Generated 24/05/2026