Add unit tests for auto-scoped variables in events
This commit is contained in:
parent
aa8e171816
commit
7cbc6c9d5d
2 changed files with 340 additions and 0 deletions
334
data/test/scenarios/events-test_autovariables.cfg
Normal file
334
data/test/scenarios/events-test_autovariables.cfg
Normal file
|
@ -0,0 +1,334 @@
|
|||
|
||||
{GENERIC_UNIT_TEST "event_test_auto_variables_side_turn" (
|
||||
[event]
|
||||
name=side 1 turn 1
|
||||
{ASSERT ({VARIABLE_CONDITIONAL side_number equals 1})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL turn_number equals 1})}
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
[event]
|
||||
name=side 2 turn 1
|
||||
{ASSERT ({VARIABLE_CONDITIONAL side_number equals 2})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL turn_number equals 1})}
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
[event]
|
||||
name=side 1 turn 2
|
||||
{ASSERT ({VARIABLE_CONDITIONAL side_number equals 1})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL turn_number equals 2})}
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
[event]
|
||||
name=side 2 turn 2
|
||||
{ASSERT ({VARIABLE_CONDITIONAL side_number equals 2})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL turn_number equals 2})}
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
[event]
|
||||
name=side 1 turn 3
|
||||
{ASSERT ({VARIABLE_CONDITIONAL side_number equals 1})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL turn_number equals 3})}
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
[event]
|
||||
name=side 2 turn 3
|
||||
{ASSERT ({VARIABLE_CONDITIONAL side_number equals 2})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL turn_number equals 3})}
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
[event]
|
||||
name=turn 4
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
||||
|
||||
{GENERIC_UNIT_TEST "event_test_auto_variables_xy" (
|
||||
[event]
|
||||
name=start
|
||||
[do_command]
|
||||
[move]
|
||||
x=7,7
|
||||
y=3,6
|
||||
[/move]
|
||||
[/do_command]
|
||||
[do_command]
|
||||
[move]
|
||||
x=7,10
|
||||
y=6,3
|
||||
[/move]
|
||||
[/do_command]
|
||||
[do_command]
|
||||
[move]
|
||||
x=10,13
|
||||
y=3,8
|
||||
[/move]
|
||||
[/do_command]
|
||||
[/event]
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
x,y=7,6
|
||||
[/filter]
|
||||
{ASSERT ({VARIABLE_CONDITIONAL x1 equals 7})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL y1 equals 6})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL x2 equals 7})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL y2 equals 3})}
|
||||
[/event]
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
x,y=10,3
|
||||
[/filter]
|
||||
{ASSERT ({VARIABLE_CONDITIONAL x1 equals 10})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL y1 equals 3})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL x2 equals 7})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL y2 equals 6})}
|
||||
[/event]
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
x,y=13,8
|
||||
[/filter]
|
||||
{ASSERT ({VARIABLE_CONDITIONAL x1 equals 13})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL y1 equals 8})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL x2 equals 10})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL y2 equals 3})}
|
||||
[/event]
|
||||
[event]
|
||||
name=start
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
||||
|
||||
{GENERIC_UNIT_TEST "event_test_auto_variables_units" (
|
||||
[event]
|
||||
name=start
|
||||
# Make sure they don't die during the attacks
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[status]
|
||||
invulnerable=yes
|
||||
[/status]
|
||||
[/modify_unit]
|
||||
[do_command]
|
||||
[move]
|
||||
x=7,13
|
||||
y=3,4
|
||||
[/move]
|
||||
[attack]
|
||||
[source]
|
||||
x,y=13,4
|
||||
[/source]
|
||||
[destination]
|
||||
x,y=13,3
|
||||
[/destination]
|
||||
[/attack]
|
||||
[/do_command]
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
[event]
|
||||
name=side 2 turn
|
||||
[do_command]
|
||||
[attack]
|
||||
[source]
|
||||
x,y=13,3
|
||||
[/source]
|
||||
[destination]
|
||||
x,y=13,4
|
||||
[/destination]
|
||||
[/attack]
|
||||
[/do_command]
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
[event]
|
||||
name=attack
|
||||
[filter]
|
||||
side=1
|
||||
[/filter]
|
||||
{ASSERT ({VARIABLE_CONDITIONAL unit.side equals 1})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL unit.x equals 13})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL unit.y equals 4})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL second_unit.side equals 2})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL second_unit.x equals 13})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL second_unit.y equals 3})}
|
||||
[/event]
|
||||
[event]
|
||||
name=attack
|
||||
[filter]
|
||||
side=2
|
||||
[/filter]
|
||||
{ASSERT ({VARIABLE_CONDITIONAL unit.side equals 2})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL unit.x equals 13})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL unit.y equals 3})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL second_unit.side equals 1})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL second_unit.x equals 13})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL second_unit.y equals 4})}
|
||||
[/event]
|
||||
[event]
|
||||
name=turn 2
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
||||
|
||||
{GENERIC_UNIT_TEST "event_test_auto_variables_weapons" (
|
||||
[event]
|
||||
name=start
|
||||
# Make sure they don't die during the attacks
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[status]
|
||||
invulnerable=yes
|
||||
[/status]
|
||||
[/modify_unit]
|
||||
[do_command]
|
||||
[move]
|
||||
x=7,13
|
||||
y=3,4
|
||||
[/move]
|
||||
[attack]
|
||||
weapon=1
|
||||
[source]
|
||||
x,y=13,4
|
||||
[/source]
|
||||
[destination]
|
||||
x,y=13,3
|
||||
[/destination]
|
||||
[/attack]
|
||||
[/do_command]
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
[event]
|
||||
name=side 2 turn
|
||||
[do_command]
|
||||
[attack]
|
||||
[source]
|
||||
x,y=13,3
|
||||
[/source]
|
||||
[destination]
|
||||
x,y=13,4
|
||||
[/destination]
|
||||
[/attack]
|
||||
[/do_command]
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
[event]
|
||||
name=attack
|
||||
[filter]
|
||||
side=1
|
||||
[/filter]
|
||||
{ASSERT ({VARIABLE_CONDITIONAL weapon.name equals bow})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL weapon.damage equals 5})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL weapon.number equals 4})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL second_weapon.name equals "none"})}
|
||||
[/event]
|
||||
[event]
|
||||
name=attack
|
||||
[filter]
|
||||
side=2
|
||||
[/filter]
|
||||
{ASSERT ({VARIABLE_CONDITIONAL weapon.name equals sword})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL weapon.damage equals 9})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL weapon.number equals 2})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL second_weapon.name equals sword})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL second_weapon.damage equals 5})}
|
||||
{ASSERT ({VARIABLE_CONDITIONAL second_weapon.number equals 2})}
|
||||
[/event]
|
||||
[event]
|
||||
name=turn 2
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
||||
|
||||
{GENERIC_UNIT_TEST "event_test_auto_variables_damage" (
|
||||
[event]
|
||||
name=start
|
||||
# Make sure the attacks hit
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[attack]
|
||||
accuracy=100
|
||||
[/attack]
|
||||
[/modify_unit]
|
||||
[do_command]
|
||||
[move]
|
||||
x=7,13
|
||||
y=3,4
|
||||
[/move]
|
||||
[attack]
|
||||
[source]
|
||||
x,y=13,4
|
||||
[/source]
|
||||
[destination]
|
||||
x,y=13,3
|
||||
[/destination]
|
||||
[/attack]
|
||||
[/do_command]
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
[event]
|
||||
name=attacker hits
|
||||
{ASSERT ({VARIABLE_CONDITIONAL damage_inflicted equals 5})}
|
||||
[/event]
|
||||
[event]
|
||||
name=defender hits
|
||||
{ASSERT ({VARIABLE_CONDITIONAL damage_inflicted equals 9})}
|
||||
[/event]
|
||||
[event]
|
||||
name=side 2 turn
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
||||
|
||||
{GENERIC_UNIT_TEST "event_test_auto_variables_owner" (
|
||||
[event]
|
||||
name=start
|
||||
[terrain]
|
||||
x,y=10,3
|
||||
terrain=^Vh
|
||||
layer=overlay
|
||||
[/terrain]
|
||||
{GENERIC_UNIT 1 "Elvish Archer" 7 4}
|
||||
{GENERIC_UNIT 2 "Orcish Grunt" 13 4}
|
||||
[do_command]
|
||||
[move]
|
||||
x=7,10
|
||||
y=4,3
|
||||
[/move]
|
||||
[/do_command]
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
[event]
|
||||
name=side 2 turn
|
||||
[do_command]
|
||||
[move]
|
||||
x=13,10
|
||||
y=4,3
|
||||
[/move]
|
||||
[/do_command]
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
[event]
|
||||
name=capture
|
||||
[filter]
|
||||
side=1
|
||||
[/filter]
|
||||
{ASSERT ({VARIABLE_CONDITIONAL owner_side equals 0})}
|
||||
[kill]
|
||||
id=$unit.id
|
||||
[/kill]
|
||||
[/event]
|
||||
[event]
|
||||
name=capture
|
||||
[filter]
|
||||
side=2
|
||||
[/filter]
|
||||
{ASSERT ({VARIABLE_CONDITIONAL owner_side equals 1})}
|
||||
[/event]
|
||||
[event]
|
||||
name=turn 2
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -91,6 +91,12 @@
|
|||
0 event_handlers_in_events__dynamic_filter
|
||||
0 event_remove_test
|
||||
0 event_repeat_test
|
||||
0 event_test_auto_variables_side_turn
|
||||
0 event_test_auto_variables_xy
|
||||
0 event_test_auto_variables_units
|
||||
0 event_test_auto_variables_weapons
|
||||
0 event_test_auto_variables_damage
|
||||
0 event_test_auto_variables_owner
|
||||
0 filter_vision
|
||||
0 scatter_units
|
||||
0 has_ally
|
||||
|
|
Loading…
Add table
Reference in a new issue