diff --git a/Debug/Unit Testing/Scripts/base_test_runner.gd b/Debug/Unit Testing/Scripts/base_test_runner.gd new file mode 100644 index 0000000..2d1b874 --- /dev/null +++ b/Debug/Unit Testing/Scripts/base_test_runner.gd @@ -0,0 +1,28 @@ +extends Node +class_name BaseTestRunner + + +func _ready() -> void: + var methods := self.get_method_list() + for method in methods: + var method_name: String = method["name"] + if method_name.left(5).to_lower() != "test_": + continue + + var return_dict: Dictionary = method["return"] + var return_type: int = return_dict["type"] + + if return_type != 1: + print_rich("[color=yellow]Skipping Unit Test Method '%s'. Reason: Return type is not bool[/color]" % method_name) + continue + + var args: Array = method["args"] + if not args.is_empty(): + print_rich("[color=yellow]Skipping Unit Test Method '%s', Reason: Method requires arguments.[/color]" % method_name) + continue + + var result: bool = call(method_name) + if result: + print_rich("[color=green]%s: Success![/color]" % method_name) + else: + print_rich("[color=red]%s: Failure...[/color]" % method_name) diff --git a/Debug/Unit Testing/Scripts/base_test_runner.gd.uid b/Debug/Unit Testing/Scripts/base_test_runner.gd.uid new file mode 100644 index 0000000..948c923 --- /dev/null +++ b/Debug/Unit Testing/Scripts/base_test_runner.gd.uid @@ -0,0 +1 @@ +uid://bsewsmjxlup47 diff --git a/Debug/Unit Testing/Scripts/base_test_runner.tscn b/Debug/Unit Testing/Scripts/base_test_runner.tscn new file mode 100644 index 0000000..4372386 --- /dev/null +++ b/Debug/Unit Testing/Scripts/base_test_runner.tscn @@ -0,0 +1,3 @@ +[gd_scene format=3 uid="uid://rl2o7alqg7w4"] + +[node name="BaseTestRunner" type="Node" unique_id=1916529975] diff --git a/Debug/Unit Testing/Scripts/json_parsing_tests.gd b/Debug/Unit Testing/Scripts/json_parsing_tests.gd new file mode 100644 index 0000000..3c44ae4 --- /dev/null +++ b/Debug/Unit Testing/Scripts/json_parsing_tests.gd @@ -0,0 +1,14 @@ +extends BaseTestRunner + + +func Test_1() -> bool: + var json_string = "{\"Key\": false}" + var json = JSON.new() + var parse_result := json.parse(json_string) + if parse_result != OK: + return false + return true + + +func Test_2() -> String: + return '' diff --git a/Debug/Unit Testing/Scripts/json_parsing_tests.gd.uid b/Debug/Unit Testing/Scripts/json_parsing_tests.gd.uid new file mode 100644 index 0000000..d19ab00 --- /dev/null +++ b/Debug/Unit Testing/Scripts/json_parsing_tests.gd.uid @@ -0,0 +1 @@ +uid://xrexdmk7d1qx diff --git a/Debug/Unit Testing/json_parsing_tests.tscn b/Debug/Unit Testing/json_parsing_tests.tscn new file mode 100644 index 0000000..661f09e --- /dev/null +++ b/Debug/Unit Testing/json_parsing_tests.tscn @@ -0,0 +1,6 @@ +[gd_scene format=3 uid="uid://c23ct3b1nmih7"] + +[ext_resource type="Script" uid="uid://xrexdmk7d1qx" path="res://Debug/Unit Testing/Scripts/json_parsing_tests.gd" id="1_beu12"] + +[node name="JsonParsingTests" type="Node" unique_id=2014332517] +script = ExtResource("1_beu12")