Files
settled-reach/client/addons/gdUnit4/test/GdUnitTestSuiteTest.gd
T
jpmschweitzerandClaude Opus 4.6 61e0762a84 chore(client): add gdUnit4 test framework addon
Vendor gdUnit4 for Godot 4 client testing (D-030).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 16:52:00 +01:00

98 lines
3.7 KiB
GDScript

# GdUnit generated TestSuite
class_name GdUnitTestSuiteTest
extends GdUnitTestSuite
# TestSuite generated from
const __source = 'res://addons/gdUnit4/src/GdUnitTestSuite.gd'
var _events :Array[GdUnitEvent] = []
var _retry_count := 0
var _flaky_settings: bool
var _test_unknown_argument_in_test_case_is_called := false
func collect_report(event :GdUnitEvent) -> void:
_events.push_back(event)
func before() -> void:
# register to receive test reports
GdUnitSignals.instance().gdunit_event.connect(collect_report)
_flaky_settings = ProjectSettings.get_setting(GdUnitSettings.TEST_FLAKY_CHECK, false)
ProjectSettings.set_setting(GdUnitSettings.TEST_FLAKY_CHECK, true)
func after() -> void:
# verify the test case `test_unknown_argument_in_test_case` was skipped
assert_bool(_test_unknown_argument_in_test_case_is_called)\
.override_failure_message("Expecting 'test_unknown_argument_in_test_case' is skipped!")\
.is_false()
GdUnitSignals.instance().gdunit_event.disconnect(collect_report)
# Restore original project settings
ProjectSettings.set_setting(GdUnitSettings.TEST_FLAKY_CHECK, _flaky_settings)
func test_assert_that_types() -> void:
assert_object(assert_that(true)).is_instanceof(GdUnitBoolAssert)
assert_object(assert_that(1)).is_instanceof(GdUnitIntAssert)
assert_object(assert_that(3.12)).is_instanceof(GdUnitFloatAssert)
assert_object(assert_that("abc")).is_instanceof(GdUnitStringAssert)
assert_object(assert_that(Vector2.ONE)).is_instanceof(GdUnitVectorAssert)
assert_object(assert_that(Vector2i.ONE)).is_instanceof(GdUnitVectorAssert)
assert_object(assert_that(Vector3.ONE)).is_instanceof(GdUnitVectorAssert)
assert_object(assert_that(Vector3i.ONE)).is_instanceof(GdUnitVectorAssert)
assert_object(assert_that(Vector4.ONE)).is_instanceof(GdUnitVectorAssert)
assert_object(assert_that(Vector4i.ONE)).is_instanceof(GdUnitVectorAssert)
assert_object(assert_that([])).is_instanceof(GdUnitArrayAssert)
assert_object(assert_that({})).is_instanceof(GdUnitDictionaryAssert)
assert_object(assert_that(GdUnitResult.new())).is_instanceof(GdUnitObjectAssert)
# all not a built-in types mapped to default GdUnitAssert
assert_object(assert_that(Color.RED)).is_instanceof(GdUnitAssertImpl)
assert_object(assert_that(Plane.PLANE_XY)).is_instanceof(GdUnitAssertImpl)
func test_unknown_argument_in_test_case(_invalid_arg :int) -> void:
_test_unknown_argument_in_test_case_is_called = true
fail("This test case should be not executed, it must be skipped.")
func test_find_child() -> void:
var node_a :Node3D = auto_free(Node3D.new())
node_a.set_name("node_a")
var node_b :Node3D = auto_free(Node3D.new())
node_b.set_name("node_b")
var node_c :Node3D = auto_free(Node3D.new())
node_c.set_name("node_c")
add_child(node_a, true)
node_a.add_child(node_b, true)
node_b.add_child(node_c, true)
assert_object(find_child("node_a", true, false)).is_same(node_a)
assert_object(find_child("node_b", true, false)).is_same(node_b)
assert_object(find_child("node_c", true, false)).is_same(node_c)
func test_find_by_path() -> void:
var node_a :Node3D = auto_free(Node3D.new())
node_a.set_name("node_a")
var node_b :Node3D = auto_free(Node3D.new())
node_b.set_name("node_b")
var node_c :Node3D = auto_free(Node3D.new())
node_c.set_name("node_c")
add_child(node_a, true)
node_a.add_child(node_b, true)
node_b.add_child(node_c, true)
assert_object(get_node(node_a.get_path())).is_same(node_a)
assert_object(get_node(node_b.get_path())).is_same(node_b)
assert_object(get_node(node_c.get_path())).is_same(node_c)
func test_flaky_success() -> void:
_retry_count += 1
# do fail on first two retries
if _retry_count <= 2:
fail("failure 1: at retry %d" % _retry_count)
fail("failure 2: at retry %d" % _retry_count)