Files
Grovewright/game/tests/test_figures.gd
T
Steven Wroblewski d2da661452 Startmenü, fremde Figuren und Statuszeile
Das Startmenü fragt nach dem Namen und bietet allein spielen, die Welt
öffnen oder beitreten. Die Figuren der anderen Spieler gleiten zu ihrer
neuesten Position und tragen ihren Namen. Die Anzeige füllt Werte in
Meldungen ein und hat eine Statuszeile. Die Texte für Menü und Netzwerk
gibt es auf Deutsch und Englisch.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-01 21:40:57 +02:00

35 lines
1.1 KiB
GDScript

extends TestCase
func test_a_figure_appears_where_it_is_first_placed() -> void:
var figures := Figures.new()
check_eq(figures.shown_at(2), Vector2.INF, "nobody is shown at first")
figures.place(2, Vector2(10.0, 20.0))
check_eq(figures.shown_at(2), Vector2(10.0, 20.0), "at once at its first position")
figures.free()
func test_a_figure_glides_toward_its_latest_position() -> void:
var figures := Figures.new()
figures.place(1, Vector2.ZERO)
figures.place(1, Vector2(100.0, 0.0))
figures._process(0.02)
var halfway := figures.shown_at(1).x
check(halfway > 0.0 and halfway < 100.0, "part of the way after a frame: %s" % halfway)
for frame in 60:
figures._process(0.02)
check(figures.shown_at(1).distance_to(Vector2(100.0, 0.0)) < 0.01, "there after a second")
figures.free()
func test_figures_can_be_forgotten() -> void:
var figures := Figures.new()
figures.place(1, Vector2.ZERO)
figures.place(3, Vector2.ONE)
figures.forget(1)
check_eq(figures.shown_at(1), Vector2.INF, "one is gone")
check_eq(figures.shown_at(3), Vector2.ONE, "the other stays")
figures.clear()
check_eq(figures.shown_at(3), Vector2.INF, "all are gone")
figures.free()