
Adding this is issue 2 of #4177, changing the behavior when [find_path] is given a SLF which matches multiple hexes. The map and tests here should be easy enough for manually editing them. It duplicates some of the functionality of the existing characterize_pathfinding tests, however those tests need their expected values to be calculated and can't be changed by hand. '''nearest_by''': {DevFeature1.15|2} possible values "movement_cost" (default), "steps", "hexes". If the [destination] SLF matches multiple hexes, the one that would need the least movement points to reach may not be the one that's closest as measured by '''hexes''', or closest as measured by steps, from the starting point. Behavior in 1.14 depended on which hex was checked first.
233 lines
5.4 KiB
Text
233 lines
5.4 KiB
Text
#
|
|
# Sanity checks of the unit test system
|
|
#
|
|
0 test_return
|
|
1 test_return_fail
|
|
0 test_assert
|
|
1 test_assert_fail
|
|
1 test_assert_fail_two
|
|
2 empty_test
|
|
4 break_replay_with_lua_random
|
|
0 fixed_lua_random_replay_with_sync_choice
|
|
0 test_end_turn
|
|
#
|
|
# Security test
|
|
#
|
|
0 cve_2018_1999023
|
|
1 cve_2018_1999023_2
|
|
#
|
|
# Test Check Victory (If this isn't working other tests may have dubious value)
|
|
#
|
|
2 check_victory_basic_timeout
|
|
1 check_victory_basic_macro_check
|
|
0 check_victory_basic
|
|
1 check_victory_basic_fail
|
|
0 check_victory_basic_two
|
|
0 check_victory_basic_ai
|
|
1 check_victory_basic_ai_fail
|
|
0 check_victory_basic_ai_two
|
|
1 check_victory_one_no_units_fail_one
|
|
1 check_victory_one_no_units_fail_two
|
|
0 check_victory_one_no_units
|
|
1 check_victory_two_no_units_fail_one
|
|
1 check_victory_two_no_units_fail_two
|
|
0 check_victory_two_no_units
|
|
0 check_victory_always_one
|
|
0 check_victory_always_two
|
|
1 check_victory_always_no_units_fail
|
|
0 check_victory_always_no_units
|
|
1 check_victory_always_fail
|
|
1 check_victory_never_fail_one
|
|
1 check_victory_never_fail_two
|
|
1 check_victory_never_fail_three
|
|
0 check_victory_never_pass
|
|
1 check_victory_never_ai_fail
|
|
#
|
|
# WML API tests
|
|
#
|
|
0 two_plus_two
|
|
1 two_plus_two_fail
|
|
0 order_of_nested_events
|
|
0 test_clear_one
|
|
0 test_clear_two
|
|
0 test_unit_map
|
|
0 unit_spawns_at_nearest_vacant_hex
|
|
0 units_offmap_goto_recall
|
|
0 test_move
|
|
1 test_move_fail_1
|
|
1 test_move_fail_2
|
|
1 test_move_fail_3
|
|
1 test_move_fail_4
|
|
1 test_move_fail_5
|
|
1 test_move_fail_6
|
|
0 test_move_unit
|
|
0 sighted_events
|
|
1 sighted_events_fail
|
|
0 sighted_on_opponents_turn
|
|
1 sighted_on_opponents_turn_fail
|
|
0 move_skip_no_sighted_no_share_view
|
|
0 move_skip_ally_sighted_no_share_view
|
|
0 move_skip_all_sighted_no_share_view
|
|
0 move_skip_no_sighted_yes_share_view
|
|
0 move_skip_ally_sighted_yes_share_view
|
|
0 move_skip_all_sighted_yes_share_view
|
|
0 set_gold_in_prestart_one
|
|
0 set_gold_in_prestart_two
|
|
0 modify_turns_one
|
|
0 modify_turns_two
|
|
0 modify_turns_three
|
|
0 modify_turns_four
|
|
0 replace_schedule_prestart
|
|
0 modify_unit_facing
|
|
0 event_handlers_in_events_1
|
|
0 event_handlers_in_events_3
|
|
0 event_handlers_in_events_2
|
|
1 event_handlers_in_events_4
|
|
0 event_handlers_in_events_5
|
|
0 event_handlers_in_events_6
|
|
0 event_handlers_in_events_7
|
|
0 event_handlers_in_events_8
|
|
0 filter_vision
|
|
0 scatter_units
|
|
0 has_ally
|
|
0 xp_mod_1
|
|
0 xp_mod_2
|
|
0 xp_mod_3
|
|
0 test_role_1
|
|
0 test_role_2
|
|
0 test_role_3
|
|
0 test_role_lua
|
|
#
|
|
# LUA
|
|
#
|
|
0 lua_dofile
|
|
0 lua_require
|
|
0 lua_get_sides
|
|
0 test_wml_actions
|
|
0 test_wml_conditionals
|
|
0 lua_wml_tagnames
|
|
#
|
|
# Pathfinding
|
|
#
|
|
0 store_locations_one
|
|
0 store_locations_range
|
|
0 simple_find_path
|
|
# This test occasionally takes too long... (FIXME): 0 characterize_pathfinding_one
|
|
0 characterize_pathfinding_reach_1
|
|
0 characterize_pathfinding_reach_2
|
|
0 characterize_pathfinding_reach_3
|
|
0 characterize_pathfinding_reach_4
|
|
0 characterize_pathfinding_reach_5
|
|
0 characterize_pathfinding_reach_6
|
|
0 characterize_pathfinding_reach_7
|
|
#
|
|
# Movement types, and modifying them
|
|
#
|
|
0 test_elf_movement
|
|
0 test_orc_movement
|
|
0 test_elf_fast_cave_movement
|
|
0 test_elf_fast_hills_movement
|
|
0 test_elf_fast_cave_and_hills_movement
|
|
0 test_orc_fast_cave_movement
|
|
0 test_orc_fast_forest_movement
|
|
0 test_elf_slow_cave_movement
|
|
0 test_elf_longsighted_movement
|
|
0 test_orc_longsighted_movement
|
|
0 test_elf_longsighted_fast_cave_movement
|
|
0 test_elf_fast_cave_longsighted_movement
|
|
0 test_elf_vision
|
|
0 test_elf_fast_cave_vision
|
|
0 test_elf_fast_hills_vision
|
|
0 test_elf_longsighted_cave_vision
|
|
0 test_elf_longsighted_cave_and_hills_vision
|
|
0 test_elf_longsighted_cave_slow_cave_vision
|
|
#
|
|
# Attack calculations & codepath tests
|
|
#
|
|
0 alice_kills_bob
|
|
0 bob_kills_alice_on_retal
|
|
0 alice_kills_bob_levelup
|
|
0 bob_kills_alice
|
|
0 alice_kills_bob_on_retal
|
|
0 alice_kills_bob_on_retal_levelup
|
|
0 test_grunt_tod_damage
|
|
0 test_time_area_damage
|
|
0 test_time_area_prestart
|
|
0 test_berzerk_firststrike
|
|
0 feeding
|
|
0 swarm_disables_upgrades
|
|
#
|
|
# Deterministic unit facing tests
|
|
0 recruit_facing_enemy_one
|
|
0 recruit_facing_enemy_two
|
|
0 recruit_facing_leader
|
|
0 recruit_facing_center
|
|
#
|
|
# Interface tests
|
|
#
|
|
0 test_wml_menu_items_1
|
|
1 test_wml_menu_items_2
|
|
0 test_wml_menu_items_3
|
|
#
|
|
# Conditional tests
|
|
#
|
|
0 check_conditionals_1
|
|
0 check_conditionals_2
|
|
# Standard Unit Filter tests
|
|
0 filter_this_unit_wml
|
|
0 filter_this_unit_tl
|
|
0 filter_this_unit_fai
|
|
0 filter_fai_unit
|
|
1 filter_fai_unit_error
|
|
# Interrupt tag tests
|
|
0 check_interrupts_break
|
|
0 check_interrupts_return
|
|
0 check_interrupts_continue
|
|
0 check_interrupts_break_global
|
|
0 check_interrupts_return_nested
|
|
0 check_interrupts_continue_global
|
|
0 check_interrupts_elseif
|
|
0 check_interrupts_case
|
|
# For-loop tests
|
|
0 forloop_all_zero
|
|
0 forloop_step_zero
|
|
0 forloop_once_positive
|
|
0 forloop_once_negative
|
|
0 forloop_twice_matched
|
|
0 forloop_twice_unmatched
|
|
0 forloop_empty_array
|
|
0 forloop_array
|
|
0 forloop_array_reverse
|
|
0 forloop_step_large_positive
|
|
0 forloop_step_large_negative
|
|
0 for_defaults
|
|
0 for_start2
|
|
0 for_end2
|
|
0 for_end2_step2
|
|
0 for_end-2
|
|
0 for_end-2_step-2
|
|
# AI Config Parsing tests
|
|
0 test_basic_simplified_aspect
|
|
0 test_basic_abbreviated_aspect
|
|
0 test_basic_standard_aspect
|
|
0 test_basic_composite_aspect
|
|
0 test_basic_lua_aspect
|
|
0 test_basic_composite_facet
|
|
0 test_basic_lua_facet
|
|
0 test_basic_composite_default_facet
|
|
0 test_basic_lua_default_facet
|
|
# AI Modification tests
|
|
0 test_modify_ai_delete_facet
|
|
0 test_modify_ai_change_facet
|
|
0 test_modify_ai_replace_facet
|
|
0 test_modify_ai_add_facet
|
|
0 test_modify_ai_change_default_facet
|
|
0 test_modify_ai_nested_facets
|
|
0 test_modify_ai_composite_default_facets
|
|
0 test_modify_ai_change_aspect
|
|
# Event tests
|
|
0 order_of_variable_events1
|
|
1 order_of_variable_events2
|
|
0 event_name_variable_substitution
|
|
# Game mechanics
|
|
0 heal
|