McRogueFace/tests/unit
John McCardle 9e2444da69 Add pop/find/extend to EntityCollection3D, closes #243
EntityCollection3D now has API parity with UIEntityCollection:
- pop(index=-1): Remove and return entity at index
- find(name): Search by entity name, return Entity3D or None
- extend(iterable): Append multiple Entity3D objects

Also adds `name` property to Entity3D for use with find().

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 20:15:55 -05:00
..
alignment_constructor_test.py Alignment: reactive or automatically calculated repositioning of UIDrawables on their parent 2026-01-13 20:40:34 -05:00
alignment_test.py Fix alignment_test.py margin default expectations 2026-01-14 02:02:08 +00:00
animate_method_test.py .animate helper: create and start an animation directly on a target. Preferred use pattern; closes #175 2026-01-04 15:32:14 -05:00
animated_model_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
animation_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
api_changes_batch_test.py Organize test suite: add README, move loose tests to proper directories 2026-01-21 21:34:22 -05:00
api_createScene_test.py update tests: new scene API 2026-01-03 10:59:52 -05:00
api_setScene_currentScene_test.py update tests: new scene API 2026-01-03 10:59:52 -05:00
api_timer_test.py Timer refactor: stopwatch-like semantics, mcrfpy.timers collection closes #173 2026-01-03 22:09:18 -05:00
audio_and_keyboard_test.py feat: Add Sound/Music classes, keyboard state, version (#66, #160, #164) 2025-12-29 16:24:27 -05:00
automation_screenshot_test_simple.py update tests: new scene API 2026-01-03 10:59:52 -05:00
automation_vector_test.py Positions are always mcrfpy.Vector, Vector/tuple/iterables expected as inputs, and for position-only inputs we permit x,y args to prevent requiring double-parens 2026-01-05 10:16:16 -05:00
benchmark_logging_test.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
billboard_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
bsp_adjacency_test.py BSP: add room adjacency graph for corridor generation (closes #210) 2026-01-12 23:43:57 -05:00
bsp_simple_test.py BSP: add safety features and API improvements (closes #202, #203, #204, #205, #206) 2026-01-12 07:59:31 -05:00
bsp_test.py BSP: add safety features and API improvements (closes #202, #203, #204, #205, #206) 2026-01-12 07:59:31 -05:00
check_entity_attrs.py fix: Update test files to use current API patterns 2025-12-29 19:47:48 -05:00
collection_find_test.py update tests: new scene API 2026-01-03 10:59:52 -05:00
collection_list_methods_test.py update tests: new scene API 2026-01-03 10:59:52 -05:00
debug_empty_paths.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
debug_render_test.py update tests: new scene API 2026-01-03 10:59:52 -05:00
dijkstra_to_heightmap_test.py Djikstra to Heightmap: convert pathfinding data into a heightmap for use in procedural generation processes 2026-01-13 20:41:23 -05:00
discretemap_arithmetic_test.py DiscreteMap class - mask for operations or uint8 tile data 2026-02-03 20:36:42 -05:00
discretemap_basic_test.py DiscreteMap class - mask for operations or uint8 tile data 2026-02-03 20:36:42 -05:00
discretemap_heightmap_test.py DiscreteMap class - mask for operations or uint8 tile data 2026-02-03 20:36:42 -05:00
empty_script.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
entity3d_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
exit_immediately_test.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
fov_3d_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
generate_docs_screenshots.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
generate_grid_screenshot.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
generate_sprite_screenshot.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
grid_camera_rotation_test.py Rotation 2026-01-25 23:20:52 -05:00
grid_layer_api_test.py grid layer API modernization 2026-02-03 20:18:12 -05:00
heightmap_combination_test.py Update to combination operations (#194) - allowing targeted, partial regions on source or target 2026-01-12 20:56:39 -05:00
heightmap_direct_sampling_test.py Update to combination operations (#194) - allowing targeted, partial regions on source or target 2026-01-12 20:56:39 -05:00
heightmap_kernel_transform_test.py HeightMap - kernel_transform (#198) 2026-01-12 21:42:34 -05:00
heightmap_region_test.py Update to combination operations (#194) - allowing targeted, partial regions on source or target 2026-01-12 20:56:39 -05:00
integration_api_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
keypress_scene_validation_test.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
ldtk_apply_test.py LDtk import support 2026-02-07 11:34:38 -05:00
ldtk_parse_test.py LDtk import support 2026-02-07 11:34:38 -05:00
ldtk_resolve_test.py LDtk import support 2026-02-07 11:34:38 -05:00
math3d_test 3D viewport, milestone 1 2026-02-04 13:33:14 -05:00
math3d_test.cpp 3D viewport, milestone 1 2026-02-04 13:33:14 -05:00
mesh_instance_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
meshlayer_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
minimal_reparent.py Organize test suite: add README, move loose tests to proper directories 2026-01-21 21:34:22 -05:00
minimal_test.py Organize test suite: add README, move loose tests to proper directories 2026-01-21 21:34:22 -05:00
model3d_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
noise_sample_test.py Update to combination operations (#194) - allowing targeted, partial regions on source or target 2026-01-12 20:56:39 -05:00
noise_source_test.py Update to combination operations (#194) - allowing targeted, partial regions on source or target 2026-01-12 20:56:39 -05:00
pathfinding_3d_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
procgen_interactive_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
rotation_test.py Rotation 2026-01-25 23:20:52 -05:00
rotation_visual_test.py Rotation 2026-01-25 23:20:52 -05:00
scene_subclass_on_key_test.py Implement Scene subclass on_key callback support 2026-01-09 15:51:20 -05:00
screenshot_transparency_fix_test.py update tests: new scene API 2026-01-03 10:59:52 -05:00
shader_test.py Shaders 2026-01-25 21:04:01 -05:00
simple_screenshot_test.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
simple_timer_screenshot_test.py Refactor timing tests to use mcrfpy.step() for synchronous execution 2026-01-14 02:56:21 +00:00
skeleton_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
test_animation_callback_simple.py Animation callbacks now pass (target, property, value) instead of (None, None) 2026-01-28 17:35:47 -05:00
test_animation_chaining.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_animation_debug.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_animation_immediate.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_animation_property_locking.py Refactor timing tests to use mcrfpy.step() for synchronous execution 2026-01-14 02:56:21 +00:00
test_animation_raii.py Refactor timing tests to use mcrfpy.step() for synchronous execution 2026-01-14 02:56:21 +00:00
test_animation_removal.py Refactor timing tests to use mcrfpy.step() for synchronous execution 2026-01-14 02:56:21 +00:00
test_api_docs.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_append.py Organize test suite: add README, move loose tests to proper directories 2026-01-21 21:34:22 -05:00
test_astar.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_audio_cleanup.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_bounds_hit_testing.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_builtin_context.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_callback_enums.py Simplify on_enter/on_exit callbacks to position-only signature 2026-01-28 17:36:02 -05:00
test_callback_vector.py Simplify on_enter/on_exit callbacks to position-only signature 2026-01-28 17:36:02 -05:00
test_caption_size.py Organize test suite: add README, move loose tests to proper directories 2026-01-21 21:34:22 -05:00
test_children.py Organize test suite: add README, move loose tests to proper directories 2026-01-21 21:34:22 -05:00
test_color_fix.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_color_helpers.py Refactor 11 more tests to mcrfpy.step() pattern 2026-01-14 03:09:47 +00:00
test_color_operations.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_color_setter_bug.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_colorlayer_heightmap.py Grid layers: add HeightMap-based procedural generation methods 2026-01-11 22:35:44 -05:00
test_constructor_comprehensive.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_dijkstra_pathfinding.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_documentation.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_drawable_move_resize_position_parsing.py Positions are always mcrfpy.Vector, Vector/tuple/iterables expected as inputs, and for position-only inputs we permit x,y args to prevent requiring double-parens 2026-01-05 10:16:16 -05:00
test_empty_animation_manager.py Refactor 11 more tests to mcrfpy.step() pattern 2026-01-14 03:09:47 +00:00
test_entity3d_viewport.py Fix Entity3D.viewport returning None, closes #244 2026-02-07 20:15:38 -05:00
test_entity_animation.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_entity_collection3d_methods.py Add pop/find/extend to EntityCollection3D, closes #243 2026-02-07 20:15:55 -05:00
test_entity_collection_remove.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_entity_constructor.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_entity_fix.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_entity_path_to.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_entity_path_to_edge_cases.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_entity_position_parsing.py Positions are always mcrfpy.Vector, Vector/tuple/iterables expected as inputs, and for position-only inputs we permit x,y args to prevent requiring double-parens 2026-01-05 10:16:16 -05:00
test_exact_failure.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_frame_bounds.py Organize test suite: add README, move loose tests to proper directories 2026-01-21 21:34:22 -05:00
test_frame_clipping.py Refactor 11 more tests to mcrfpy.step() pattern 2026-01-14 03:09:47 +00:00
test_frame_clipping_advanced.py Refactor 11 more tests to mcrfpy.step() pattern 2026-01-14 03:09:47 +00:00
test_frame_kwargs.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_geometry.py feat: Add geometry module for orbital mechanics and spatial calculations 2025-11-26 00:26:14 -05:00
test_grid_apply.py Grid: add apply_threshold and apply_ranges for HeightMap (closes #199) 2026-01-11 20:42:47 -05:00
test_grid_background.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_grid_cell_events.py Timer refactor: stopwatch-like semantics, mcrfpy.timers collection closes #173 2026-01-03 22:09:18 -05:00
test_grid_children.py Refactor 11 more tests to mcrfpy.step() pattern 2026-01-14 03:09:47 +00:00
test_grid_constructor_bug.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_grid_creation.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_grid_error.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_grid_features.py Organize test suite: add README, move loose tests to proper directories 2026-01-21 21:34:22 -05:00
test_grid_iteration.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_grid_minimal.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_grid_pathfinding_positions.py Positions are always mcrfpy.Vector, Vector/tuple/iterables expected as inputs, and for position-only inputs we permit x,y args to prevent requiring double-parens 2026-01-05 10:16:16 -05:00
test_gridpoint_debug.py Organize test suite: add README, move loose tests to proper directories 2026-01-21 21:34:22 -05:00
test_gridpoint_entities.py feat: Add GridPoint.entities and GridPointState.point properties 2025-12-01 21:04:03 -05:00
test_gridpoint_grid_pos.py Organize test suite: add README, move loose tests to proper directories 2026-01-21 21:34:22 -05:00
test_gridpointstate_point.py feat: Add GridPoint.entities and GridPointState.point properties 2025-12-01 21:04:03 -05:00
test_headless_benchmark.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_headless_click.py Timer refactor: stopwatch-like semantics, mcrfpy.timers collection closes #173 2026-01-03 22:09:18 -05:00
test_headless_detection.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_headless_modes.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_heightmap_basic.py HeightMap: add GRID_MAX limit and input validation 2026-01-11 20:26:04 -05:00
test_heightmap_query.py HeightMap: improve API consistency and add subscript support 2026-01-11 21:43:44 -05:00
test_heightmap_terrain.py HeightMap: improve dig_hill/dig_bezier API clarity 2026-01-11 22:21:58 -05:00
test_heightmap_threshold.py HeightMap: add threshold operations that return new HeightMaps (closes #197) 2026-01-11 21:49:28 -05:00
test_input_enums.py Input Enums instead of strings. 2026-01-10 21:31:20 -05:00
test_issue_151_scene_api.py feat: Add consistent Scene API with module-level properties (closes #151) 2025-12-22 22:15:03 -05:00
test_iter_flush.py Organize test suite: add README, move loose tests to proper directories 2026-01-21 21:34:22 -05:00
test_iter_only.py Organize test suite: add README, move loose tests to proper directories 2026-01-21 21:34:22 -05:00
test_iteration.py Organize test suite: add README, move loose tests to proper directories 2026-01-21 21:34:22 -05:00
test_layer_docs.py Organize test suite: add README, move loose tests to proper directories 2026-01-21 21:34:22 -05:00
test_layer_position_parsing.py Positions are always mcrfpy.Vector, Vector/tuple/iterables expected as inputs, and for position-only inputs we permit x,y args to prevent requiring double-parens 2026-01-05 10:16:16 -05:00
test_metrics.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_module_namespace.py Organize test suite: add README, move loose tests to proper directories 2026-01-21 21:34:22 -05:00
test_module_simple.py Organize test suite: add README, move loose tests to proper directories 2026-01-21 21:34:22 -05:00
test_mouse_enter_exit.py Simplify on_enter/on_exit callbacks to position-only signature 2026-01-28 17:36:02 -05:00
test_name_parameter.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_name_simple.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_new_constructors.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_no_arg_constructors.py Refactor 11 more tests to mcrfpy.step() pattern 2026-01-14 03:09:47 +00:00
test_on_move.py Timer refactor: stopwatch-like semantics, mcrfpy.timers collection closes #173 2026-01-03 22:09:18 -05:00
test_oneline_for.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_parent_child_system.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_path_colors.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_pathfinding_integration.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_perspective_binding.py feat: Add entity.visible_entities() and improve entity.updateVisibility() (closes #113) 2025-12-01 15:55:18 -05:00
test_position_helper.py Positions are always mcrfpy.Vector, Vector/tuple/iterables expected as inputs, and for position-only inputs we permit x,y args to prevent requiring double-parens 2026-01-05 10:16:16 -05:00
test_profiler_quick.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_properties_quick.py Refactor 11 more tests to mcrfpy.step() pattern 2026-01-14 03:09:47 +00:00
test_pyarg_bug.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_python_builtins.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_python_object_cache.py Refactor 11 more tests to mcrfpy.step() pattern 2026-01-14 03:09:47 +00:00
test_range_25_bug.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_range_threshold.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_scene_create.py Organize test suite: add README, move loose tests to proper directories 2026-01-21 21:34:22 -05:00
test_scene_object_api.py Monkey Patch support + Robust callback tracking 2026-01-09 21:37:23 -05:00
test_scene_properties.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_scene_transitions.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_scene_transitions_headless.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_screen_to_world_yplane.py Add y_plane parameter to screen_to_world(), closes #245 2026-02-07 20:15:48 -05:00
test_simple_callback.py Refactor 11 more tests to mcrfpy.step() pattern 2026-01-14 03:09:47 +00:00
test_simple_drawable.py Refactor 11 more tests to mcrfpy.step() pattern 2026-01-14 03:09:47 +00:00
test_stdin_theory.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_step_function.py Timer refactor: stopwatch-like semantics, mcrfpy.timers collection closes #173 2026-01-03 22:09:18 -05:00
test_stubs.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_synchronous_screenshot.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_tcod_complete.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_tcod_fov.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_tcod_fov_entities.py feat: Implement FOV enum and layer draw_fov for #114 and #113 2025-12-01 15:18:10 -05:00
test_tcod_minimal.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_tcod_pathfinding.py update tests: new scene API 2026-01-03 10:59:52 -05:00
test_text_input.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_texture_invalid_path.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_tilelayer_heightmap.py Grid layers: add HeightMap-based procedural generation methods 2026-01-11 22:35:44 -05:00
test_timer_callback.py Refactor timing tests to use mcrfpy.step() for synchronous execution 2026-01-14 02:56:21 +00:00
test_timer_legacy.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_timer_object.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_timer_once.py Timer refactor: stopwatch-like semantics, mcrfpy.timers collection closes #173 2026-01-03 22:09:18 -05:00
test_uiarc.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_uicaption_visual.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_uicircle.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_uidrawable_monkeypatch.py Simplify on_enter/on_exit callbacks to position-only signature 2026-01-28 17:36:02 -05:00
test_uidrawable_subclass_callbacks.py Simplify on_enter/on_exit callbacks to position-only signature 2026-01-28 17:36:02 -05:00
test_utf8_encoding.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_vector_arithmetic.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_vector_convenience.py feat: Add Vector convenience features - indexing, tuple comparison, floor 2025-11-26 09:37:14 -05:00
test_viewport_scaling.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_visibility.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
test_visual_path.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
tilemap_file_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
tileset_file_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
ui_Entity_issue73_test.py update tests: new scene API 2026-01-03 10:59:52 -05:00
ui_Frame_test_detailed.py update tests: new scene API 2026-01-03 10:59:52 -05:00
ui_Grid_none_texture_test.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
ui_Grid_null_texture_test.py update tests: new scene API 2026-01-03 10:59:52 -05:00
ui_Grid_test_no_grid.py update tests: new scene API 2026-01-03 10:59:52 -05:00
ui_Sprite_issue19_test.py update tests: new scene API 2026-01-03 10:59:52 -05:00
ui_UICollection_issue69_test.py update tests: new scene API 2026-01-03 10:59:52 -05:00
validate_screenshot_test.py update tests: new scene API 2026-01-03 10:59:52 -05:00
viewport3d_test.py 3D viewport, milestone 1 2026-02-04 13:33:14 -05:00
voxel_bulk_ops_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
voxel_greedy_meshing_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
voxel_meshing_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
voxel_navigation_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
voxel_rendering_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
voxel_serialization_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
voxelgrid_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
voxelpoint_test.py 3D / voxel unit tests 2026-02-06 16:15:07 -05:00
wang_resolve_test.py Tiled XML/JSON import support 2026-02-06 21:43:03 -05:00
WORKING_automation_test_example.py Refactor 11 more tests to mcrfpy.step() pattern 2026-01-14 03:09:47 +00:00
working_timer_test.py Timer refactor: stopwatch-like semantics, mcrfpy.timers collection closes #173 2026-01-03 22:09:18 -05:00