blob: ff19711e660466855435e4b3e9f4c185d9215a46 [file]
import cpp11_std_function
fn = cpp11_std_function.pass_checker(420)
# invoke functor via call method
result = fn.call(420, "Petka")
if not result:
raise RuntimeError("Petka 420 should be true")
result = fn.call(419, "Chapai")
if result:
raise RuntimeError("Chapai 419 should be false")
# call wrapper
result = cpp11_std_function.call_function(fn, 420, "Petka")
if not result:
raise RuntimeError("Petka 420 should be true")
result = cpp11_std_function.call_function(fn, 419, "Chapai")
if result:
raise RuntimeError("Petka 419 should be false")
# NULL handling
passed = False
try:
cpp11_std_function.call_function(None, 420, "Petka")
except TypeError:
passed = True
if not passed:
raise RuntimeError("call_function accepted invalid argument")
# Invalid argument
passed = False
try:
cpp11_std_function.call_function("invalid", 420, "Petka")
except TypeError:
passed = True
if not passed:
raise RuntimeError("call_function accepted invalid argument")