@@ -76,6 +76,60 @@ def test_natural_logarithm_notation(self):
7676 preview = result ["preview" ]
7777 assert preview ["latex" ] == r"\ln{\left(x \right)}"
7878
79+ @pytest .mark .parametrize (
80+ "response, is_latex, response_latex, response_sympy" ,
81+ [
82+ ("plus_minus x" , False , '\\ left\\ {- x,~x\\ right\\ }' , "plus_minus x" ),
83+ ("\\ pm x" , True , '\\ pm x' , '{-x, x}' ),
84+ (r"\pm x^{2}+\mp y^{2}" , True , "\pm x^{2}+\mp y^{2}" , "{-x**2 + y**2, x**2 - y**2}" ),
85+ ("plus_minus x**2 + minus_plus y**2" , False , r"\left\{- x^{2} + y^{2},~x^{2} - y^{2}\right\}" , "plus_minus x**2 + minus_plus y**2" ),
86+ ("- minus_plus x^2 minus_plus y^2" , False , r"\left\{- x^{2} + y^{2},~x^{2} - y^{2}\right\}" , "- minus_plus x^2 minus_plus y^2" ),
87+ ("- minus_plus x^2 - plus_minus y^2" , False , r"\left\{- x^{2} - - y^{2},~x^{2} - y^{2}\right\}" , "- minus_plus x^2 - plus_minus y^2" ),
88+ ("pm x**2 + mp y**2" , False , r"\left\{- x^{2} + y^{2},~x^{2} - y^{2}\right\}" , "plus_minus x**2 + minus_plus y**2" ),
89+ ("+- x**2 + -+ y**2" , False , r"\left\{- x^{2} + y^{2},~x^{2} - y^{2}\right\}" , "plus_minus x**2 + minus_plus y**2" ),
90+ ]
91+ )
92+ def test_using_plus_minus_symbols (self , response , is_latex , response_latex , response_sympy ):
93+ params = {
94+ "strict_syntax" : False ,
95+ "elementary_functions" : True ,
96+ "is_latex" : is_latex ,
97+ "symbols" : {
98+ "plus_minus" : {
99+ "latex" : r"\(\pm\)" ,
100+ "aliases" : ["pm" , "+-" ],
101+ },
102+ "minus_plus" : {
103+ "latex" : r"\(\mp\)" ,
104+ "aliases" : ["mp" , "-+" ],
105+ },
106+ },
107+ }
108+ params = Params (** params )
109+ result = preview_function (response , params )
110+ assert result ["preview" ]["latex" ] == response_latex
111+ assert result ["preview" ]["sympy" ] == response_sympy
112+
113+ def test_lh_rh_response (self ):
114+ params = {
115+ "strict_syntax" : False ,
116+ "elementary_functions" : True ,
117+ "is_latex" : False ,
118+ "symbols" : {
119+ "plus_minus" : {
120+ "latex" : r"\(\pm\)" ,
121+ "aliases" : ["pm" , "+-" ],
122+ },
123+ "minus_plus" : {
124+ "latex" : r"\(\mp\)" ,
125+ "aliases" : ["mp" , "-+" ],
126+ },
127+ },
128+ }
129+ params = Params (** params )
130+ result = preview_function ("x + y = y + x" , params )
131+ assert result ["preview" ]["latex" ] == "x + y=x + y"
132+ assert result ["preview" ]["sympy" ] == "x + y=y + x"
79133
80134if __name__ == "__main__" :
81135 pytest .main (['-xk not slow' , "--tb=line" , os .path .abspath (__file__ )])
0 commit comments