mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-10 16:04:04 +00:00
19 lines
1.3 KiB
GDScript
19 lines
1.3 KiB
GDScript
extends "res://tests/test_case.gd"
|
|
|
|
const Matchmaking = preload("res://scripts/matchmaking.gd")
|
|
const MatchmakingState = preload("res://scripts/matchmaking_state.gd")
|
|
|
|
|
|
func test_every_backend_phase_has_a_nonempty_user_message() -> void:
|
|
for phase in [MatchmakingState.IDLE, MatchmakingState.QUEUED, MatchmakingState.PROPOSED, MatchmakingState.ALLOCATING, MatchmakingState.PROCESS_READY, MatchmakingState.ASSIGNMENT_READY, MatchmakingState.CONNECTING, MatchmakingState.LIVE, MatchmakingState.CANCELLED, MatchmakingState.EXPIRED, MatchmakingState.FAILED]:
|
|
assert_true(not Matchmaking.phase_label(phase).is_empty(), "phase %s has visible copy" % phase)
|
|
|
|
|
|
func test_terminal_state_policy_does_not_leave_cancel_or_proposal_actions_enabled() -> void:
|
|
for phase in [MatchmakingState.CANCELLED, MatchmakingState.EXPIRED, MatchmakingState.FAILED, MatchmakingState.LIVE]:
|
|
assert_true(Matchmaking._is_terminal(phase), "phase %s is terminal" % phase)
|
|
assert_true(not Matchmaking._is_terminal(MatchmakingState.QUEUED), "queued search remains active")
|
|
assert_true(not Matchmaking._is_terminal(MatchmakingState.PROPOSED), "proposal remains actionable")
|
|
assert_true(Matchmaking._can_start_new_search(MatchmakingState.FAILED), "failed search can be retried")
|
|
assert_true(not Matchmaking._can_start_new_search(MatchmakingState.LIVE), "live match cannot start a second search")
|