From 4af624e6113df10a164f4588bc4322fd780604c1 Mon Sep 17 00:00:00 2001
From: Isuru Fernando <isuruf@gmail.com>
Date: Sat, 1 Jul 2017 11:15:22 +0530
Subject: [PATCH] symengine doesn't allow non-canonical objects anymore

---
 test/test_sympy.py | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/test/test_sympy.py b/test/test_sympy.py
index 0f84d6c..b586b42 100644
--- a/test/test_sympy.py
+++ b/test/test_sympy.py
@@ -36,11 +36,16 @@ def _test_to_pymbolic(mapper, sym, use_symengine):
     assert mapper(sym.Rational(3, 4)) == prim.Quotient(3, 4)
     assert mapper(sym.Integer(6)) == 6
 
-    assert mapper(sym.Subs(x**2, (x,), (y,))) == \
-        prim.Substitution(x_**2, ("x",), (y_,))
-    # FIXME in symengine
-    deriv = sym.Derivative(x**2, (x,)) if use_symengine else sym.Derivative(x**2, x)
-    assert mapper(deriv) == prim.Derivative(x_**2, ("x",))
+    if not use_symengine:
+        assert mapper(sym.Subs(x**2, (x,), (y,))) == \
+            prim.Substitution(x_**2, ("x",), (y_,))
+        deriv = sym.Derivative(x**2, x)
+        assert mapper(deriv) == prim.Derivative(x_**2, ("x",))
+    else:
+        assert mapper(sym.Subs(x**2, (x,), (y,))) == \
+            y_**2
+        deriv = sym.Derivative(x**2, x)
+        assert mapper(deriv) == 2*x_
 
     # functions
     assert mapper(sym.Function("f")(x)) == prim.Variable("f")(x_)
-- 
GitLab