Skip to content

Commit

Permalink
Merge pull request #34 from HotariTobu:ref/HotariTobu-reduce-test-time
Browse files Browse the repository at this point in the history
Reduce test time
  • Loading branch information
HotariTobu authored Nov 2, 2024
2 parents c35d564 + b3258cf commit 3d30fe2
Show file tree
Hide file tree
Showing 2 changed files with 130 additions and 307 deletions.
196 changes: 71 additions & 125 deletions tests/test_base_binding_source.gd
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ func before_all():

var x2 = func(value): return value * 2

var dict_source_with_wrapped_target = BaseBindingSource.new(_dict_new())
var dict_source_with_wrapped_target = BaseBindingSource.new(dict_new())
dict_source_with_wrapped_target.bind_to(
"single_value",
dict_source_with_wrapped_target,
"double_value",
BindingConverterPipeline.new([x2])
)

var dict = _dict_new()
var dict = dict_new()
var dict_source_without_wrapped_target = BaseBindingSource.new(dict)
dict_source_without_wrapped_target.bind_to(
"single_value", dict, "double_value", BindingConverterPipeline.new([x2])
Expand Down Expand Up @@ -62,8 +62,14 @@ func test_access_src(source: BaseBindingSource = use_parameters(_sources)):


func test_init_target_value(
target_objects: Dictionary = use_parameters(_get_params_for_test_init_target_value())
param: Dictionary = use_parameters(_get_params_for_test_init_target_value())
):
var source_key = param["source_key"]
var target_signal = param["target_signal"]

var source = _source_dict[source_key]
var target_objects = _bind_target_objects(source, target_signal)

assert_eq(target_objects["data_int_var"].int_var, 1)
assert_eq(target_objects["data_int_var"].str_var, "1")
assert_eq(target_objects["data_int_var"].int_prop, 1)
Expand Down Expand Up @@ -146,8 +152,11 @@ func test_init_target_value(
func test_source_to_target(
param: Dictionary = use_parameters(_get_params_for_test_source_to_target())
):
var source = param["source"]
var target_objects = param["target_objects"]
var source_key = param["source_key"]
var target_signal = param["target_signal"]

var source = _source_dict[source_key]
var target_objects = _bind_target_objects(source, target_signal)

source.int_var = 6
source.str_var = "7"
Expand Down Expand Up @@ -308,13 +317,10 @@ func test_source_to_target(


func test_source_to_target_double_value_with_str_notification():
var param: Dictionary = await _get_param_for_test_source_to_target_double_value(
"with_str_notification"
)
var source = param["source"]
var with_signal_instance = param["with_signal_instance"]
var with_signal_name = param["with_signal_name"]
var without_signal = param["without_signal"]
var source = _source_dict["with_str_notification"]
var with_signal_instance = _bind_target_objects(source, TargetSignal.INSTANCE)
var with_signal_name = _bind_target_objects(source, TargetSignal.NAME)
var without_signal = _bind_target_objects(source, TargetSignal.NONE)

source.single_value = 10

Expand Down Expand Up @@ -413,13 +419,10 @@ func test_source_to_target_double_value_with_str_notification():


func test_source_to_target_double_value_with_dir_notification():
var param: Dictionary = _get_param_for_test_source_to_target_double_value(
"with_dir_notification"
)
var source = param["source"]
var with_signal_instance = param["with_signal_instance"]
var with_signal_name = param["with_signal_name"]
var without_signal = param["without_signal"]
var source = _source_dict["with_dir_notification"]
var with_signal_instance = _bind_target_objects(source, TargetSignal.INSTANCE)
var with_signal_name = _bind_target_objects(source, TargetSignal.NAME)
var without_signal = _bind_target_objects(source, TargetSignal.NONE)

source.single_value = 10

Expand Down Expand Up @@ -518,13 +521,10 @@ func test_source_to_target_double_value_with_dir_notification():


func test_source_to_target_double_value_with_ext_notification():
var param: Dictionary = _get_param_for_test_source_to_target_double_value(
"with_ext_notification"
)
var source = param["source"]
var with_signal_instance = param["with_signal_instance"]
var with_signal_name = param["with_signal_name"]
var without_signal = param["without_signal"]
var source = _source_dict["with_ext_notification"]
var with_signal_instance = _bind_target_objects(source, TargetSignal.INSTANCE)
var with_signal_name = _bind_target_objects(source, TargetSignal.NAME)
var without_signal = _bind_target_objects(source, TargetSignal.NONE)

source.single_value = 10
notified.emit("double_value")
Expand Down Expand Up @@ -625,13 +625,10 @@ func test_source_to_target_double_value_with_ext_notification():


func test_source_to_target_double_value_without_notification():
var param: Dictionary = _get_param_for_test_source_to_target_double_value(
"without_notification"
)
var source = param["source"]
var with_signal_instance = param["with_signal_instance"]
var with_signal_name = param["with_signal_name"]
var without_signal = param["without_signal"]
var source = _source_dict["without_notification"]
var with_signal_instance = _bind_target_objects(source, TargetSignal.INSTANCE)
var with_signal_name = _bind_target_objects(source, TargetSignal.NAME)
var without_signal = _bind_target_objects(source, TargetSignal.NONE)

source.single_value = 10

Expand Down Expand Up @@ -730,13 +727,10 @@ func test_source_to_target_double_value_without_notification():


func test_source_to_target_double_value_dict_with_wrapped_target():
var param: Dictionary = _get_param_for_test_source_to_target_double_value(
"dict_with_wrapped_target"
)
var source = param["source"]
var with_signal_instance = param["with_signal_instance"]
var with_signal_name = param["with_signal_name"]
var without_signal = param["without_signal"]
var source = _source_dict["dict_with_wrapped_target"]
var with_signal_instance = _bind_target_objects(source, TargetSignal.INSTANCE)
var with_signal_name = _bind_target_objects(source, TargetSignal.NAME)
var without_signal = _bind_target_objects(source, TargetSignal.NONE)

source.single_value = 10

Expand Down Expand Up @@ -835,13 +829,10 @@ func test_source_to_target_double_value_dict_with_wrapped_target():


func test_source_to_target_double_value_dict_without_wrapped_target():
var param: Dictionary = _get_param_for_test_source_to_target_double_value(
"dict_without_wrapped_target"
)
var source = param["source"]
var with_signal_instance = param["with_signal_instance"]
var with_signal_name = param["with_signal_name"]
var without_signal = param["without_signal"]
var source = _source_dict["dict_without_wrapped_target"]
var with_signal_instance = _bind_target_objects(source, TargetSignal.INSTANCE)
var with_signal_name = _bind_target_objects(source, TargetSignal.NAME)
var without_signal = _bind_target_objects(source, TargetSignal.NONE)

source.single_value = 10

Expand Down Expand Up @@ -942,8 +933,11 @@ func test_source_to_target_double_value_dict_without_wrapped_target():
func test_target_to_source(
param: Dictionary = use_parameters(_get_params_for_test_target_to_source())
):
var source = param["source"]
var target_objects = param["target_objects"]
var source_key = param["source_key"]
var target_signal = param["target_signal"]

var source = _source_dict[source_key]
var target_objects = _bind_target_objects(source, target_signal)

target_objects["data_int_var"].int_var_changed.emit(6)
assert_eq(source.int_var, 6)
Expand Down Expand Up @@ -1059,98 +1053,33 @@ func test_target_to_source(


func _get_params_for_test_init_target_value():
var params = []

for source in _sources:
var with_signal_instance = _bind_target_objects(source, TargetSignal.INSTANCE)
var with_signal_name = _bind_target_objects(source, TargetSignal.NAME)
var without_signal = _bind_target_objects(source, TargetSignal.NONE)

params.append(with_signal_instance)
params.append(with_signal_name)
params.append(without_signal)

return params
return _get_params_for_test_source_to_target()


func _get_params_for_test_source_to_target():
var params = []

for source in _sources:
var with_signal_instance = _bind_target_objects(source, TargetSignal.INSTANCE)
var with_signal_name = _bind_target_objects(source, TargetSignal.NAME)
var without_signal = _bind_target_objects(source, TargetSignal.NONE)

var with_signal_instance_param = {
"source": source,
"target_objects": with_signal_instance,
}
var with_signal_name_param = {
"source": source,
"target_objects": with_signal_name,
}
var without_signal_param = {
"source": source,
"target_objects": without_signal,
}

params.append(with_signal_instance_param)
params.append(with_signal_name_param)
params.append(without_signal_param)
for source_key in _source_dict:
for target_signal in TargetSignal.values():
var param = {"source_key": source_key, "target_signal": target_signal}
params.append(param)

return params


func _get_param_for_test_source_to_target_double_value(type: String):
var source = _source_dict[type]

var param = {
"source": source,
"with_signal_instance": _bind_target_objects(source, TargetSignal.INSTANCE),
"with_signal_name": _bind_target_objects(source, TargetSignal.NAME),
"without_signal": _bind_target_objects(source, TargetSignal.NONE),
}

return param


func _get_params_for_test_target_to_source():
var params = []

for source in _sources:
var with_signal_instance = _bind_target_objects(source, TargetSignal.INSTANCE)
var with_signal_name = _bind_target_objects(source, TargetSignal.NAME)

var with_signal_instance_param = {
"source": source,
"target_objects": with_signal_instance,
}
var with_signal_name_param = {
"source": source,
"target_objects": with_signal_name,
}

params.append(with_signal_instance_param)
params.append(with_signal_name_param)
for source_key in _source_dict:
for target_signal in [TargetSignal.INSTANCE, TargetSignal.NAME]:
var param = {"source_key": source_key, "target_signal": target_signal}
params.append(param)

return params


func _bind_target_objects(source: BaseBindingSource, target_signal: TargetSignal):
var target_objects = {
"data_int_var": Data.new(),
"data_str_var": Data.new(),
"data_int_prop": Data.new(),
"data_str_prop": Data.new(),
"data_single_value": Data.new(),
"data_double_value": Data.new(),
"dict_int_var": _dict_new(),
"dict_str_var": _dict_new(),
"dict_int_prop": _dict_new(),
"dict_str_prop": _dict_new(),
"dict_single_value": _dict_new(),
"dict_double_value": _dict_new(),
}
var target_objects = create_target_objects()

_bind_int(source, "int_var", target_objects["data_int_var"], target_signal)
_bind_str(source, "str_var", target_objects["data_str_var"], target_signal)
Expand Down Expand Up @@ -1309,7 +1238,24 @@ func _unbind(source: BaseBindingSource, source_property: StringName, target_obje
source.unbind_from(source_property, target_object, "single_value")


func _dict_new():
static func create_target_objects():
return {
"data_int_var": Data.new(),
"data_str_var": Data.new(),
"data_int_prop": Data.new(),
"data_str_prop": Data.new(),
"data_single_value": Data.new(),
"data_double_value": Data.new(),
"dict_int_var": dict_new(),
"dict_str_var": dict_new(),
"dict_int_prop": dict_new(),
"dict_str_prop": dict_new(),
"dict_single_value": dict_new(),
"dict_double_value": dict_new(),
}


static func dict_new():
return {
"int_var": 0,
"str_var": "",
Expand Down
Loading

0 comments on commit 3d30fe2

Please sign in to comment.