Adding log.gd
This commit is contained in:
parent
eb32d6614e
commit
4522259397
547 changed files with 46844 additions and 0 deletions
91
addons/gdUnit4/src/core/GdUnitObjectInteractionsTemplate.gd
Normal file
91
addons/gdUnit4/src/core/GdUnitObjectInteractionsTemplate.gd
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
const GdUnitAssertImpl := preload("res://addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd")
|
||||
|
||||
var __expected_interactions :int = -1
|
||||
var __saved_interactions := Dictionary()
|
||||
var __verified_interactions := Array()
|
||||
|
||||
|
||||
func __save_function_interaction(function_args :Array[Variant]) -> void:
|
||||
var __matcher := GdUnitArgumentMatchers.to_matcher(function_args, true)
|
||||
for __index in __saved_interactions.keys().size():
|
||||
var __key :Variant = __saved_interactions.keys()[__index]
|
||||
if __matcher.is_match(__key):
|
||||
__saved_interactions[__key] += 1
|
||||
return
|
||||
__saved_interactions[function_args] = 1
|
||||
|
||||
|
||||
func __is_verify_interactions() -> bool:
|
||||
return __expected_interactions != -1
|
||||
|
||||
|
||||
func __do_verify_interactions(interactions_times :int = 1) -> Object:
|
||||
__expected_interactions = interactions_times
|
||||
return self
|
||||
|
||||
|
||||
func __verify_interactions(function_args :Array[Variant]) -> void:
|
||||
var __summary := Dictionary()
|
||||
var __total_interactions := 0
|
||||
var __matcher := GdUnitArgumentMatchers.to_matcher(function_args, true)
|
||||
for __index in __saved_interactions.keys().size():
|
||||
var __key :Variant = __saved_interactions.keys()[__index]
|
||||
if __matcher.is_match(__key):
|
||||
var __interactions :int = __saved_interactions.get(__key, 0)
|
||||
__total_interactions += __interactions
|
||||
__summary[__key] = __interactions
|
||||
# add as verified
|
||||
__verified_interactions.append(__key)
|
||||
|
||||
var __gd_assert := GdUnitAssertImpl.new("")
|
||||
if __total_interactions != __expected_interactions:
|
||||
var __expected_summary := {function_args : __expected_interactions}
|
||||
var __error_message :String
|
||||
# if no __interactions macht collect not verified __interactions for failure report
|
||||
if __summary.is_empty():
|
||||
var __current_summary := __verify_no_more_interactions()
|
||||
__error_message = GdAssertMessages.error_validate_interactions(__current_summary, __expected_summary)
|
||||
else:
|
||||
__error_message = GdAssertMessages.error_validate_interactions(__summary, __expected_summary)
|
||||
__gd_assert.report_error(__error_message)
|
||||
else:
|
||||
__gd_assert.report_success()
|
||||
__expected_interactions = -1
|
||||
|
||||
|
||||
func __verify_no_interactions() -> Dictionary:
|
||||
var __summary := Dictionary()
|
||||
if not __saved_interactions.is_empty():
|
||||
for __index in __saved_interactions.keys().size():
|
||||
var func_call :Variant = __saved_interactions.keys()[__index]
|
||||
__summary[func_call] = __saved_interactions[func_call]
|
||||
return __summary
|
||||
|
||||
|
||||
func __verify_no_more_interactions() -> Dictionary:
|
||||
var __summary := Dictionary()
|
||||
var called_functions :Array[Variant] = __saved_interactions.keys()
|
||||
if called_functions != __verified_interactions:
|
||||
# collect the not verified functions
|
||||
var called_but_not_verified := called_functions.duplicate()
|
||||
for __index in __verified_interactions.size():
|
||||
called_but_not_verified.erase(__verified_interactions[__index])
|
||||
|
||||
for __index in called_but_not_verified.size():
|
||||
var not_verified :Variant = called_but_not_verified[__index]
|
||||
__summary[not_verified] = __saved_interactions[not_verified]
|
||||
return __summary
|
||||
|
||||
|
||||
func __reset_interactions() -> void:
|
||||
__saved_interactions.clear()
|
||||
|
||||
|
||||
func __filter_vargs(arg_values :Array[Variant]) -> Array[Variant]:
|
||||
var filtered :Array[Variant] = []
|
||||
for __index in arg_values.size():
|
||||
var arg :Variant = arg_values[__index]
|
||||
if typeof(arg) == TYPE_STRING and arg == GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE:
|
||||
continue
|
||||
filtered.append(arg)
|
||||
return filtered
|
||||
Loading…
Add table
Add a link
Reference in a new issue