67 lines
1.9 KiB
GDScript
67 lines
1.9 KiB
GDScript
# GdUnit generated TestSuite
|
|
class_name GdUnitFuncValueExtractorTest
|
|
extends GdUnitTestSuite
|
|
|
|
# TestSuite generated from
|
|
const __source = 'res://addons/gdUnit4/src/extractors/GdUnitFuncValueExtractor.gd'
|
|
const GdUnitFuncValueExtractor = preload("res://addons/gdUnit4/src/extractors/GdUnitFuncValueExtractor.gd")
|
|
|
|
|
|
class TestNode extends Resource:
|
|
var _parent = null
|
|
var _children := Array()
|
|
|
|
func _init(name :String,parent = null):
|
|
set_name(name)
|
|
_parent = parent
|
|
if _parent:
|
|
_parent._children.append(self)
|
|
|
|
|
|
func _notification(what):
|
|
if what == NOTIFICATION_PREDELETE:
|
|
_parent = null
|
|
_children.clear()
|
|
|
|
|
|
func get_parent() -> TestNode:
|
|
return _parent
|
|
|
|
|
|
func get_children() -> Array:
|
|
return _children
|
|
|
|
|
|
|
|
func test_extract_value_success() -> void:
|
|
var node = auto_free(TestNode.new("node_a"))
|
|
|
|
assert_str(GdUnitFuncValueExtractor.new("get_name", []).extract_value(node)).is_equal("node_a")
|
|
|
|
|
|
func test_extract_value_func_not_exists() -> void:
|
|
var node = TestNode.new("node_a")
|
|
|
|
assert_str(GdUnitFuncValueExtractor.new("get_foo", []).extract_value(node)).is_equal("n.a.")
|
|
|
|
|
|
func test_extract_value_on_null_value() -> void:
|
|
assert_str(GdUnitFuncValueExtractor.new("get_foo", []).extract_value(null)).is_null()
|
|
|
|
|
|
func test_extract_value_chanined() -> void:
|
|
var parent = TestNode.new("parent")
|
|
var node = auto_free(TestNode.new("node_a", parent))
|
|
|
|
assert_str(GdUnitFuncValueExtractor.new("get_name", []).extract_value(node)).is_equal("node_a")
|
|
assert_str(GdUnitFuncValueExtractor.new("get_parent.get_name", []).extract_value(node)).is_equal("parent")
|
|
|
|
|
|
func test_extract_value_chanined_array_values() -> void:
|
|
var parent = TestNode.new("parent")
|
|
auto_free(TestNode.new("node_a", parent))
|
|
auto_free(TestNode.new("node_b", parent))
|
|
auto_free(TestNode.new("node_c", parent))
|
|
|
|
assert_array(GdUnitFuncValueExtractor.new("get_children.get_name", []).extract_value(parent))\
|
|
.contains_exactly(["node_a", "node_b", "node_c"])
|