McRogueFace/tests
John McCardle c1e02070f4 feat(tcod): complete Dijkstra pathfinding implementation with critical PyArg fix
- Add complete Dijkstra pathfinding to UIGrid class
  - compute_dijkstra(), get_dijkstra_distance(), get_dijkstra_path()
  - Full TCODMap and TCODDijkstra integration
  - Proper memory management in constructors/destructors

- Create mcrfpy.libtcod submodule with Python bindings
  - dijkstra_compute(), dijkstra_get_distance(), dijkstra_get_path()
  - line() function for drawing corridors
  - Foundation for future FOV and pathfinding algorithms

- Fix critical PyArg bug in UIGridPoint color setter
  - PyObject_to_sfColor() now handles both Color objects and tuples
  - Prevents "SystemError: new style getargs format but argument is not a tuple"
  - Proper error handling and exception propagation

- Add comprehensive test suite
  - test_dijkstra_simple.py validates all pathfinding operations
  - dijkstra_test.py for headless testing with screenshots
  - dijkstra_interactive.py for full user interaction demos

- Consolidate and clean up test files
  - Removed 6 duplicate/broken demo attempts
  - Two clean versions: headless test + interactive demo

Part of TCOD integration sprint for RoguelikeDev Tutorial Event.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 12:10:48 -04:00
..
WORKING_automation_test_example.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
animation_demo.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
animation_demo_safe.py Roguelike Tutorial Planning + Prep 2025-07-09 08:36:11 -04:00
animation_sizzle_reel.py Roguelike Tutorial Planning + Prep 2025-07-09 08:36:11 -04:00
animation_sizzle_reel_fixed.py Roguelike Tutorial Planning + Prep 2025-07-09 08:36:11 -04:00
animation_sizzle_reel_v2.py Roguelike Tutorial Planning + Prep 2025-07-09 08:36:11 -04:00
animation_sizzle_reel_working.py Roguelike Tutorial Planning + Prep 2025-07-09 08:36:11 -04:00
api_createScene_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
api_demo_final.py Roguelike Tutorial Planning + Prep 2025-07-09 08:36:11 -04:00
api_keypressScene_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
api_sceneUI_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
api_setScene_currentScene_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
api_timer_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
automation_click_issue78_analysis.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
automation_click_issue78_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
automation_screenshot_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
automation_screenshot_test_simple.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
check_entity_attrs.py feat(tcod): complete Dijkstra pathfinding implementation with critical PyArg fix 2025-07-09 12:10:48 -04:00
debug_render_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
dijkstra_interactive.py feat(tcod): complete Dijkstra pathfinding implementation with critical PyArg fix 2025-07-09 12:10:48 -04:00
dijkstra_test.py feat(tcod): complete Dijkstra pathfinding implementation with critical PyArg fix 2025-07-09 12:10:48 -04:00
empty_script.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
exhaustive_api_demo.py Roguelike Tutorial Planning + Prep 2025-07-09 08:36:11 -04:00
exhaustive_api_demo_fixed.py Roguelike Tutorial Planning + Prep 2025-07-09 08:36:11 -04:00
exit_immediately_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
force_non_interactive.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
generate_caption_screenshot_fixed.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
generate_docs_screenshots.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
generate_docs_screenshots_simple.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
generate_entity_screenshot_fixed.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
generate_grid_screenshot.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
generate_sprite_screenshot.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
grid_at_argument_test.py feat(Grid): flexible at() method arguments 2025-07-05 20:35:33 -04:00
issue_9_minimal_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_9_rendertexture_resize_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_9_simple_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_9_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_12_gridpoint_instantiation_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_26_28_iterator_comprehensive_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_37_simple_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_37_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_37_windows_scripts_comprehensive_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_76_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_76_uientitycollection_type_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_79_color_properties_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_80_caption_font_size_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_81_sprite_index_standardization_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_82_sprite_scale_xy_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_83_position_tuple_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_84_pos_property_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_95_uicollection_repr_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_96_uicollection_extend_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_99_texture_font_properties_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
keypress_scene_validation_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
run_all_tests.sh feat: stabilize test suite and add UIDrawable methods 2025-07-06 09:51:37 -04:00
run_issue_tests.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
screenshot_transparency_fix_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
simple_screenshot_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
simple_timer_screenshot_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
sizzle_reel_final.py Roguelike Tutorial Planning + Prep 2025-07-09 08:36:11 -04:00
test_frame_clipping.py feat(rendering): implement RenderTexture base infrastructure and UIFrame clipping (#6) 2025-07-06 16:13:12 -04:00
test_frame_clipping_advanced.py feat(rendering): implement RenderTexture base infrastructure and UIFrame clipping (#6) 2025-07-06 16:13:12 -04:00
test_grid_background.py docs: create RenderTexture overhaul design document 2025-07-06 16:00:11 -04:00
test_stdin_theory.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
test_viewport_scaling.py feat(viewport): complete viewport-based rendering system (#8) 2025-07-07 10:28:50 -04:00
test_viewport_simple.py feat(viewport): complete viewport-based rendering system (#8) 2025-07-07 10:28:50 -04:00
test_viewport_visual.py feat(viewport): complete viewport-based rendering system (#8) 2025-07-07 10:28:50 -04:00
trace_exec_behavior.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
trace_interactive.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_Entity_issue73_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_Frame_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_Frame_test_detailed.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_Grid_none_texture_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_Grid_null_texture_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_Grid_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_Grid_test_no_grid.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_Grid_test_simple.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_Sprite_issue19_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_UICollection_issue69_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
unified_click_example.cpp feat: implement name system for finding UI elements (#39/40/41) 2025-07-06 12:02:37 -04:00
validate_screenshot_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
working_timer_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00