1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- from sympy.core.function import (Function, FunctionClass)
- from sympy.core.symbol import (Symbol, var)
- from sympy.testing.pytest import raises
- def test_var():
- ns = {"var": var, "raises": raises}
- eval("var('a')", ns)
- assert ns["a"] == Symbol("a")
- eval("var('b bb cc zz _x')", ns)
- assert ns["b"] == Symbol("b")
- assert ns["bb"] == Symbol("bb")
- assert ns["cc"] == Symbol("cc")
- assert ns["zz"] == Symbol("zz")
- assert ns["_x"] == Symbol("_x")
- v = eval("var(['d', 'e', 'fg'])", ns)
- assert ns['d'] == Symbol('d')
- assert ns['e'] == Symbol('e')
- assert ns['fg'] == Symbol('fg')
- # check return value
- assert v != ['d', 'e', 'fg']
- assert v == [Symbol('d'), Symbol('e'), Symbol('fg')]
- def test_var_return():
- ns = {"var": var, "raises": raises}
- "raises(ValueError, lambda: var(''))"
- v2 = eval("var('q')", ns)
- v3 = eval("var('q p')", ns)
- assert v2 == Symbol('q')
- assert v3 == (Symbol('q'), Symbol('p'))
- def test_var_accepts_comma():
- ns = {"var": var}
- v1 = eval("var('x y z')", ns)
- v2 = eval("var('x,y,z')", ns)
- v3 = eval("var('x,y z')", ns)
- assert v1 == v2
- assert v1 == v3
- def test_var_keywords():
- ns = {"var": var}
- eval("var('x y', real=True)", ns)
- assert ns['x'].is_real and ns['y'].is_real
- def test_var_cls():
- ns = {"var": var, "Function": Function}
- eval("var('f', cls=Function)", ns)
- assert isinstance(ns['f'], FunctionClass)
- eval("var('g,h', cls=Function)", ns)
- assert isinstance(ns['g'], FunctionClass)
- assert isinstance(ns['h'], FunctionClass)
|