From 5f8b967e48bdbf10ea42638ca277cd9d8763b485 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Sat, 5 May 2012 02:09:01 -0400 Subject: [PATCH] Improved tests for Maxima and the parser. --- test/test_maxima.py | 6 +++++- test/test_pymbolic.py | 22 ++++++++++++++++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/test/test_maxima.py b/test/test_maxima.py index 761aeca..ad81938 100644 --- a/test/test_maxima.py +++ b/test/test_maxima.py @@ -50,7 +50,6 @@ def test_strict_round_trip(knl): print result assert round_trips_correctly - def test_lax_round_trip(knl): from pymbolic.maxima import MaximaParser k_setup = [ @@ -64,6 +63,11 @@ def test_lax_round_trip(knl): k_setup + [("result2", parsed)], "ratsimp(result-result2)") == 0 +def test_diff(): + from pymbolic.maxima import diff + from pymbolic import parse + diff(parse("sqrt(x**2+y**2)"), parse("x")) + if __name__ == "__main__": import sys diff --git a/test/test_pymbolic.py b/test/test_pymbolic.py index 19f47d6..d2f7e97 100644 --- a/test/test_pymbolic.py +++ b/test/test_pymbolic.py @@ -69,7 +69,6 @@ def test_fft(): vars = numpy.array([var(chr(97+i)) for i in range(16)], dtype=object) print vars - nzk = NearZeroKiller() print fft(vars) traced_fft = sym_fft(vars) @@ -93,7 +92,6 @@ def test_sparse_multiply(): numpy = py.test.importorskip("numpy") py.test.importorskip("scipy") import scipy.sparse as ss - import scipy.sparse.linalg as sla la = numpy.linalg @@ -128,3 +126,23 @@ def test_no_comparison(): expect_typeerror(lambda: x <= y) expect_typeerror(lambda: x > y) expect_typeerror(lambda: x >= y) + + + + +def test_parser(): + from pymbolic import parse + parse("(2*a[1]*b[1]+2*a[0]*b[0])*(hankel_1(-1,sqrt(a[1]**2+a[0]**2)*k) " + "-hankel_1(1,sqrt(a[1]**2+a[0]**2)*k))*k /(4*sqrt(a[1]**2+a[0]**2)) " + "+hankel_1(0,sqrt(a[1]**2+a[0]**2)*k)") + + + + +if __name__ == "__main__": + import sys + if len(sys.argv) > 1: + exec(sys.argv[1]) + else: + from py.test.cmdline import main + main([__file__]) -- GitLab