first enemy test
This commit is contained in:
77
addons/gut/double_tools.gd
Normal file
77
addons/gut/double_tools.gd
Normal file
@ -0,0 +1,77 @@
|
||||
var thepath = ''
|
||||
var subpath = ''
|
||||
var stubber = null
|
||||
var spy = null
|
||||
var gut = null
|
||||
var from_singleton = null
|
||||
var is_partial = null
|
||||
var double = null
|
||||
|
||||
const NO_DEFAULT_VALUE = '!__gut__no__default__value__!'
|
||||
func _init(values=null):
|
||||
if(values != null):
|
||||
double = values.double
|
||||
thepath = values.thepath
|
||||
subpath = values.subpath
|
||||
stubber = from_id(values.stubber)
|
||||
spy = from_id(values.spy)
|
||||
gut = from_id(values.gut)
|
||||
from_singleton = values.from_singleton
|
||||
is_partial = values.is_partial
|
||||
|
||||
if(gut != null):
|
||||
gut.get_autofree().add_free(double)
|
||||
|
||||
|
||||
func _get_stubbed_method_to_call(method_name, called_with):
|
||||
var method = stubber.get_call_this(double, method_name, called_with)
|
||||
if(method != null):
|
||||
method = method.bindv(called_with)
|
||||
return method
|
||||
return method
|
||||
|
||||
|
||||
func from_id(inst_id):
|
||||
if(inst_id == -1):
|
||||
return null
|
||||
else:
|
||||
return instance_from_id(inst_id)
|
||||
|
||||
|
||||
func is_stubbed_to_call_super(method_name, called_with):
|
||||
if(stubber != null):
|
||||
return stubber.should_call_super(double, method_name, called_with)
|
||||
else:
|
||||
return false
|
||||
|
||||
|
||||
func handle_other_stubs(method_name, called_with):
|
||||
if(stubber == null):
|
||||
return
|
||||
|
||||
var method = _get_stubbed_method_to_call(method_name, called_with)
|
||||
if(method != null):
|
||||
return await method.call()
|
||||
else:
|
||||
return stubber.get_return(double, method_name, called_with)
|
||||
|
||||
|
||||
func spy_on(method_name, called_with):
|
||||
if(spy != null):
|
||||
spy.add_call(double, method_name, called_with)
|
||||
|
||||
|
||||
func default_val(method_name, p_index, default_val=NO_DEFAULT_VALUE):
|
||||
if(stubber != null):
|
||||
return stubber.get_default_value(double, method_name, p_index)
|
||||
else:
|
||||
return null
|
||||
|
||||
|
||||
func vararg_warning():
|
||||
if(gut != null):
|
||||
gut.get_logger().warn(
|
||||
"This method contains a vararg argument and the paramter count was not stubbed. " + \
|
||||
"GUT adds extra parameters to this method which should fill most needs. " + \
|
||||
"It is recommended that you stub param_count for this object's class to ensure " + \
|
||||
"that there are not any parameter count mismatch errors.")
|
Reference in New Issue
Block a user