def test_symbol_replace(): k = Kamodo(f='x', verbose=True) f1, f2 = list(k.keys()) print('\n|||||',f1, f2, '||||||') k[f1] = 'x**2' assert k.f(3) == 9 print('\n|||||', *list(k.keys()), '|||||') k[f2] = 'x**3' print('\n|||||', *list(k.keys()), '|||||') assert k.f(3) == 27
def test_Kamodo_get(): kamodo = Kamodo('$f(a,x,b) = a^x+b $') try: assert kamodo['f'](3, 4, 5) == 3 ** 4 + 5 except: print(kamodo.signatures) print(list(kamodo.keys())) raise
def test_Kamodo_str(): kamodo = Kamodo('f(a,x,b) = a*x+b') try: assert kamodo.f(3, 4, 5) == 3 * 4 + 5 except: print(kamodo.signatures) print(list(kamodo.keys())) raise
def test_del_function(): kamodo = Kamodo(f='x', g='y', h='y', verbose=True) del(kamodo.f) assert 'f' not in kamodo del(kamodo['g']) assert 'g' not in kamodo del(kamodo['h(y)']) print(kamodo.keys()) assert 'h(y)' not in kamodo with pytest.raises(AttributeError): del(kamodo.y)