McRogueFace/tests/unit
John McCardle f041a0c8ca feat: Add Vector convenience features - indexing, tuple comparison, floor
Implements issue #109 improvements to mcrfpy.Vector:

- Sequence protocol: v[0], v[1], v[-1], v[-2], len(v), tuple(v), x,y = v
- Tuple comparison: v == (5, 6), v != (1, 2) works bidirectionally
- .floor() method: returns new Vector with floored coordinates
- .int property: returns (int(floor(x)), int(floor(y))) tuple for dict keys

The sequence protocol enables unpacking and iteration, making Vector
interoperable with code expecting tuples. The tuple comparison fixes
compatibility issues where functions returning Vector broke code expecting
tuple comparison (e.g., in Crypt of Sokoban).

Closes #109

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 09:37:14 -05:00
..
WORKING_automation_test_example.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
api_createScene_test.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
api_setScene_currentScene_test.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
api_timer_test.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
automation_screenshot_test_simple.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
check_entity_attrs.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
collection_find_test.py feat: Add .find() method to UICollection and EntityCollection 2025-11-26 05:24:55 -05:00
collection_list_methods_test.py fix: Make UICollection/EntityCollection match Python list semantics 2025-11-26 08:08:43 -05:00
debug_empty_paths.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
debug_render_test.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
empty_script.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
exit_immediately_test.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
generate_docs_screenshots.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
generate_grid_screenshot.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
generate_sprite_screenshot.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
keypress_scene_validation_test.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
screenshot_transparency_fix_test.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
simple_screenshot_test.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
simple_timer_screenshot_test.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
test_animation_callback_simple.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_animation_chaining.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_animation_debug.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_animation_immediate.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_animation_raii.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_animation_removal.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_api_docs.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_astar.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_audio_cleanup.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_builtin_context.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_color_fix.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_color_helpers.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_color_operations.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_color_setter_bug.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -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 refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_documentation.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_empty_animation_manager.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_entity_animation.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_entity_collection_remove.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_entity_constructor.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_entity_fix.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_entity_path_to.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_entity_path_to_edge_cases.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_exact_failure.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_frame_clipping.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_frame_clipping_advanced.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05: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_background.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_grid_children.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05: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 refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_grid_error.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_grid_iteration.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_grid_minimal.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_headless_detection.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_headless_modes.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_metrics.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -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: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_oneline_for.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_path_colors.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_pathfinding_integration.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_profiler_quick.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_properties_quick.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05: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: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_range_25_bug.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_range_threshold.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_scene_transitions.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_scene_transitions_headless.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_simple_callback.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_simple_drawable.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_stdin_theory.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_stubs.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_tcod_complete.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_tcod_fov.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_tcod_fov_entities.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_tcod_minimal.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_tcod_pathfinding.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_text_input.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_texture_invalid_path.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_timer_callback.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_timer_legacy.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_timer_object.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_timer_once.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_uiarc.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_uicaption_visual.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_uicircle.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_utf8_encoding.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_vector_arithmetic.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -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 refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_viewport_visual.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_visibility.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
test_visual_path.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
ui_Entity_issue73_test.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
ui_Frame_test_detailed.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
ui_Grid_none_texture_test.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
ui_Grid_null_texture_test.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
ui_Grid_test_no_grid.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
ui_Sprite_issue19_test.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
ui_UICollection_issue69_test.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
validate_screenshot_test.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
working_timer_test.py Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00