Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
return 2 ** 3
except ValueError:
foo = 0
for i in range(4):
foo += i
return foo
except TypeError:
return 42
else:
return 33
finally:
print("finished")
inlined_func = inliner.inline(pre_func, func, dict(b="pretty", c="world!"))
assert inliner.are_functions_equivalent(inlined_func, target_inlined_func)
def test_are_functions_equivalent():
def a_func(x, y):
c = 3
print(c + str(x + y))
return x * math.sin(y)
def another_func(x, y):
c = 4
print(c + str(x + math.sin(y)))
return x * y
assert inliner.are_functions_equivalent(a_func, a_func)
assert not inliner.are_functions_equivalent(a_func, another_func)
def test_are_functions_equivalent():
def a_func(x, y):
c = 3
print(c + str(x + y))
return x * math.sin(y)
def another_func(x, y):
c = 4
print(c + str(x + math.sin(y)))
return x * y
assert inliner.are_functions_equivalent(a_func, a_func)
assert not inliner.are_functions_equivalent(a_func, another_func)
def expected_pinned_func():
c = 4
print(str(10) + str(c))
return 11
with pytest.raises(TypeError):
inliner.pin_arguments(func, dict(a=1))
with pytest.raises(TypeError):
inliner.pin_arguments(func, dict(a=1, b=2, c=3))
pinned_func = inliner.pin_arguments(func, dict(a=10, b=11))
assert inliner.are_functions_equivalent(pinned_func, expected_pinned_func)