@@ -273,6 +273,47 @@ def test_laplace_transforms(self, response, is_latex, latex, sympy):
273273 assert result ["preview" ]["latex" ] == latex
274274 assert result ["preview" ]["sympy" ] == sympy
275275
276+ @pytest .mark .parametrize (
277+ "response, latex, sympy" , [
278+ # summation() with explicit bounds — rendered correctly by SymPy
279+ (
280+ 'summation((4/n**2)(-1)**n cos(nx), (n, 1, oo))' ,
281+ r'\sum_{n=1}^{\infty} \frac{4 \cdot \left(-1\right)^{n} \cdot \cos{\left(n \cdot x \right)}}{n^{2}}' ,
282+ 'summation((4/n**2)(-1)**n cos(nx), (n, 1, oo))' ,
283+ ),
284+ # infsum as a custom prefix symbol — content must appear inside the sum, not outside
285+ (
286+ 'infsum((-1)^n / n^2)' ,
287+ r'\sum_{n=1}^{\infty} \frac{\left(-1\right)^{n}}{n^{2}}' ,
288+ 'infsum((-1)^n / n^2)' ,
289+ ),
290+ (
291+ 'infsum((4/n^2)*(-1)^n*cos(nx))' ,
292+ r'\sum_{n=1}^{\infty} \frac{4 \cdot \left(-1\right)^{n} \cdot \cos{\left(n \cdot x \right)}}{n^{2}}' ,
293+ 'infsum((4/n^2)*(-1)^n* cos(nx))' ,
294+ ),
295+ (
296+ '((pi^2)/(3))+infsum((4/n^2)*(-1)^n*cos(nx))' ,
297+ r'\frac{\pi^{2}}{3} + \sum_{n=1}^{\infty} \frac{4 \cdot \left(-1\right)^{n} \cdot \cos{\left(n \cdot x \right)}}{n^{2}}' ,
298+ '(( pi^2)/(3))+infsum((4/n^2)*(-1)^n* cos(nx))' ,
299+ ),
300+ ]
301+ )
302+ def test_sum_preview (self , response , latex , sympy ):
303+ params = {
304+ "is_latex" : False ,
305+ "strict_syntax" : False ,
306+ "elementary_functions" : True ,
307+ "symbols" : {
308+ "infsum" : {"aliases" : [], "latex" : "\\ sum_{n=1}^{\\ infty}" },
309+ "pi" : {"aliases" : [], "latex" : "\\ pi" },
310+ },
311+ }
312+
313+ result = preview_function (response , params )
314+ assert result ["preview" ]["latex" ] == latex
315+ assert result ["preview" ]["sympy" ] == sympy
316+
276317
277318
278319if __name__ == "__main__" :
0 commit comments