コード例 #1
0
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
コード例 #2
0
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
コード例 #3
0
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
コード例 #4
0
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)