Best Python code snippet using assertpy_python
test_arit.py
Source:test_arit.py
1from sympy import Symbol, sin, cos, exp, O, sqrt, Rational, re2from sympy.utilities.pytest import XFAIL3def test_bug1():4 x=Symbol("x")5 assert re(x) != x6 x.series(x,1)7 assert re(x) != x8a = Symbol("a")9b = Symbol("b", positive=True)10c = Symbol("c")11def test_Symbol():12 assert str(a)=="a"13 assert str(b)=="b"14 e=a*b15 assert e==a*b16 assert a*b*b==a*b**217 assert a*b*b+c==c+a*b**218 assert a*b*b-c==-c+a*b**219def test_arit():20 p = Rational(5)21 e=a*b22 assert e == a*b23 e=a*b+b*a24 assert e == 2*a*b25 e=a*b+b*a+a*b+p*b*a26 assert e == 8*a*b27 e=a*b+b*a+a*b+p*b*a+a28 assert e == a+8*a*b29 e=a+a30 assert e == 2*a31 e=a+b+a32 assert e == b+2*a33 e=a+b*b+a+b*b34 assert e == 2*a+2*b**235 e=a+Rational(2)+b*b+a+b*b+p36 assert e == 7+2*a+2*b**237 e=(a+b*b+a+b*b)*p38 assert e == 5*(2*a+2*b**2)39 e=(a*b*c+c*b*a+b*a*c)*p40 assert e == 15*a*b*c41 e=(a*b*c+c*b*a+b*a*c)*p-Rational(15)*a*b*c42 assert e == Rational(0)43 e = Rational(50)*(a-a)44 assert e == Rational(0)45 e=b*a-b-a*b+b46 assert e == Rational(0)47 e=a*b+c**p48 assert e == a*b+c**549 e=a/b50 assert e == a*b**(-1)51 e=a*2*252 assert e == 4*a53 e=2+a*2/254 assert e == 2+a55 e=2-a-256 assert e == -a57 e=2*a*258 assert e == 4*a59 e=2/a/260 assert e == a**(-1)61 e=2**a**262 assert e == 2**(a**2)63 e = -(1+a)64 assert e == -1 -a65 e = Rational(1,2)*(1+a)66 assert e == Rational(1,2) + a/267def testdiv():68 e=a/b69 assert e == a*b**(-1)70 e=a/b+c/271 assert e == a*b**(-1)+Rational(1)/2*c72 e=(1-b)/(b-1)73 assert e == (1+-b)*((-1)+b)**(-1)74def testpow():75 n1 = Rational(1)76 n2 = Rational(2)77 n5 = Rational(5)78 e=a*a79 assert e == a**280 e=a*a*a81 assert e == a**382 e=a*a*a*a**Rational(6)83 assert e == a**984 e=a*a*a*a**Rational(6)-a**Rational(9)85 assert e == Rational(0)86 e=a**(b+c)*a**(-b)87 assert e == a**c88 e=a**(b+c)*a*a**(-b)*a**(-c)/a89 assert e == Rational(1)90 e=a**(b-b)91 assert e == Rational(1)92 e=(a-a)**b93 assert e == Rational(0)94 e=(a+Rational(1)-a)**b95 assert e == Rational(1)96 e=(a+b+c)**n297 assert e == (a+b+c)**298 assert e.expand() == 2*b*c+2*a*c+2*a*b+a**2+c**2+b**299 e=(a+b)**n2100 assert e == (a+b)**2101 assert e.expand() == 2*a*b+a**2+b**2102 e=(a+b)**(n1/n2)103 assert e == (a+b)**(Rational(1)/2)104 assert e.expand() == (a+b)**(Rational(1)/2)105 n=n5**(n1/n2)106 assert n == Rational(5)**(Rational(1)/2)107 e=n*a*b-n*b*a108 assert e == Rational(0)109 e=n*a*b+n*b*a110 assert e == 2*a*b*5**(Rational(1)/2)111 assert e.diff(a) == 2*b*5**(Rational(1)/2)112 assert e.diff(a) == 2*b*5**(Rational(1)/2)113 e=a/b**2114 assert e == a*b**(-2)115 assert sqrt(2*(1+sqrt(2))) == (2*(1+2**(Rational(1,2))))**(Rational(1,2))116 x = Symbol('x')117 y = Symbol('y')118 assert ((x*y)**3).expand() == y**3 * x**3119 assert ((x*y)**-3).expand() == y**-3 * x**-3120 assert (x**5*(3*x)**(3)).expand() == 27 * x**8121 assert (x**5*(-3*x)**(3)).expand() == -27 * x**8122 assert (x**5*(3*x)**(-3)).expand() == Rational(1,27) * x**2123 assert (x**5*(-3*x)**(-3)).expand() == -Rational(1,27) * x**2124 n = Symbol('k', even=False)125 k = Symbol('k', even=True)126 assert (-1)**x == (-1)**x127 assert (-1)**n == (-1)**n128 assert (-2)**k == 2**k129 assert (-1)**k == 1130@XFAIL131def test_pow2():132 # XXX These fail - they are maybe discutable, 133 # let's see SAGE and similar.134 assert ((-x)**2)**Rational(1,3) == ((-x)**Rational(1,3))**2135 assert (-x)**Rational(2,3) == x**Rational(2,3)136 assert (-x)**Rational(5,7) == -x**Rational(5,7)137def test_pow_issue417():138 assert 4**Rational(1, 4) == 2**Rational(1, 2)139def test_pow3():140 assert 2**(Rational(3)/2) == 2 * 2**Rational(1, 2)141 assert 2**(Rational(3)/2) == sqrt(8)142def test_expand():143 p = Rational(5)144 e = (a+b)*c145 assert e == c*(a+b)146 assert (e.expand()-a*c-b*c) == Rational(0)147 e=(a+b)*(a+b)148 assert e == (a+b)**2149 assert e.expand() == 2*a*b+a**2+b**2150 e=(a+b)*(a+b)**Rational(2)151 assert e == (a+b)**3152 assert e.expand() == 3*b*a**2+3*a*b**2+a**3+b**3153 assert e.expand() == 3*b*a**2+3*a*b**2+a**3+b**3154 e=(a+b)*(a+c)*(b+c)155 assert e == (a+c)*(a+b)*(b+c)156 assert e.expand() == 2*a*b*c+b*a**2+c*a**2+b*c**2+a*c**2+c*b**2+a*b**2157 e=(a+Rational(1))**p158 assert e == (1+a)**5159 assert e.expand() == 1+5*a+10*a**2+10*a**3+5*a**4+a**5160 e=(a+b+c)*(a+c+p)161 assert e == (5+a+c)*(a+b+c)162 assert e.expand() == 5*a+5*b+5*c+2*a*c+b*c+a*b+a**2+c**2163 x=Symbol("x")164 s=exp(x*x)-1165 e=s.series(x,5)/x**2166 assert e.expand() == 1+x**2/2+O(x**3)167 # Check that this isn't too slow168 x = Symbol('x')169 W = 1170 for i in range(1, 21):171 W = W * (x-i)172 W = W.expand()173 assert W.has(-1672280820*x**15)174def test_power_expand():175 """Test for Pow.expand()"""176 a = Symbol('a')177 b = Symbol('b')178 p = (a+b)**2179 assert p.expand() == a**2 + b**2 + 2*a*b180 p = (1+2*(1+a))**2181 assert p.expand() == 9 + 4*(a**2) + 12*a182def test_ncmul():183 A = Symbol("A", commutative=False)184 B = Symbol("B", commutative=False)185 C = Symbol("C", commutative=False)186 assert A*B != B*A187 assert A*B*C != C*B*A188 assert A*b*B*3*C == 3*b*A*B*C189 assert A*b*B*3*C != 3*b*B*A*C190 assert A*b*B*3*C == 3*A*B*C*b191 assert A+B == B+A192 assert (A+B)*C != C*(A+B)193 assert C*(A+B)*C != C*C*(A+B)194 assert (C*(A+B)).expand() == C*A+C*B195 assert (C*(A+B)).expand() != A*C+B*C196 assert A*A == A**2197 assert (A+B)*(A+B) == (A+B)**2198 assert ((A+B)**2).expand() == A**2 + A*B + B*A +B**2199 assert A**-1 * A == 1200 assert A/A == 1201 assert A/(A**2) == 1/A202 assert A/(1+A) == A/(1+A)203def test_ncpow():204 x = Symbol('x', commutative=False)205 y = Symbol('y', commutative=False)206 assert (x**2)*(y**2) != (y**2)*(x**2)207 assert (x**-2)*y != y*(x**2)208def test_powerbug():209 x=Symbol("x")210 assert x**1 != (-x)**1211 assert x**2 == (-x)**2212 assert x**3 != (-x)**3213 assert x**4 == (-x)**4214 assert x**5 != (-x)**5215 assert x**6 == (-x)**6216 assert x**128 == (-x)**128217 assert x**129 != (-x)**129218 assert (2*x)**2 == (-2*x)**2219def test_Add_Mul_is_integer():220 x = Symbol('x')221 k = Symbol('k', integer=True)222 n = Symbol('n', integer=True)223 assert (2*k).is_integer == True224 assert (-k).is_integer == True225 assert (k/3).is_integer == False226 assert (x*k*n).is_integer == None227 assert (k+n).is_integer == True228 assert (k+x).is_integer == None229 assert (k+n*x).is_integer == None230 assert (k+n/3).is_integer == False231def test_Add_Mul_is_bounded():232 x = Symbol('x', real=True, bounded=False)233 assert sin(x).is_bounded == True234 assert (x*sin(x)).is_bounded == False235 assert (1024*sin(x)).is_bounded == True236 assert (sin(x)*exp(x)).is_bounded == False237 assert (sin(x)*cos(x)).is_bounded == True238 assert (x*sin(x)*exp(x)).is_bounded == False239 assert (sin(x)-67).is_bounded == True240 assert (sin(x)+exp(x)).is_bounded == False241def test_Mul_is_even_odd():242 x = Symbol('x', integer=True)243 k = Symbol('k', odd=True)244 n = Symbol('n', odd=True)245 m = Symbol('m', even=True)246 assert (2*x).is_even == True247 assert (2*x).is_odd == False248 assert (3*x).is_even == None249 assert (3*x).is_odd == None250 assert (k/3).is_even == None251 assert (k/3).is_odd == None252 assert (2*n).is_even == True253 assert (2*n).is_odd == False254 assert (2*m).is_even == True255 assert (2*m).is_odd == False256 assert (-n).is_even == False257 assert (-n).is_odd == True258 assert (k*n).is_even == False259 assert (k*n).is_odd == True260 assert (k*m).is_even == True261 assert (k*m).is_odd == False262 assert (k*n*m).is_even == True263 assert (k*n*m).is_odd == False264 assert (k*m*x).is_even == True265 assert (k*m*x).is_odd == False266def test_Add_is_even_odd():267 x = Symbol('x', integer=True)268 k = Symbol('k', odd=True)269 n = Symbol('n', even=True)270 assert (2+k).is_even == False271 assert (2+k).is_odd == True272 assert (7-k).is_even == True273 assert (7-k).is_odd == False274 assert (11-n).is_even == False275 assert (11-n).is_odd == True276 assert (-8+n).is_even == True277 assert (-8+n).is_odd == False278 assert (n+k).is_even == False279 assert (n+k).is_odd == True280 assert (n-k).is_even == False281 assert (n-k).is_odd == True282 assert (n+2*k).is_even == True283 assert (n+2*k).is_odd == False284 assert (k+n+x).is_odd == None285 assert (k+n-x).is_even == None286 assert (2*k+n*x).is_odd == None287 assert (2*k+n*x).is_even == None288def test_Mul_is_negative_positive():289 x = Symbol('x', real=True)290 y = Symbol('y', real=False)291 k = Symbol('k', negative=True)292 n = Symbol('n', positive=True)293 u = Symbol('u', nonnegative=True)294 v = Symbol('v', nonpositive=True)295 assert k.is_negative == True296 assert (-k).is_negative == False297 assert (2*k).is_negative == True298 assert n.is_negative == False299 assert (-n).is_negative == True300 assert (2*n).is_negative == False301 assert (n*k).is_negative == True302 assert (2*n*k).is_negative == True303 assert (-n*k).is_negative == False304 assert (n*k*y).is_negative == None305 assert u.is_negative == False306 assert (-u).is_negative == None307 assert (2*u).is_negative == False308 assert v.is_negative == None309 assert (-v).is_negative == False310 assert (2*v).is_negative == None311 assert (u*v).is_negative == None312 assert (k*u).is_negative == None313 assert (k*v).is_negative == False314 assert (n*u).is_negative == False315 assert (n*v).is_negative == None316 assert (v*k*u).is_negative == False317 assert (v*n*u).is_negative == None318 assert (-v*k*u).is_negative == None319 assert (-v*n*u).is_negative == False320 assert (17*v*k*u).is_negative == False321 assert (17*v*n*u).is_negative == None322 assert (k*v*n*u).is_negative == False323 assert (x*k).is_negative == None324 assert (u*v*n*x*k).is_negative == None325 assert k.is_positive == False326 assert (-k).is_positive == True327 assert (2*k).is_positive == False328 assert n.is_positive == True329 assert (-n).is_positive == False330 assert (2*n).is_positive == True331 assert (n*k).is_positive == False332 assert (2*n*k).is_positive == False333 assert (-n*k).is_positive == True334 assert (-n*k*y).is_positive == None335 assert u.is_positive == None336 assert (-u).is_positive == False337 assert (2*u).is_positive == None338 assert v.is_positive == False339 assert (-v).is_positive == None340 assert (2*v).is_positive == False341 assert (u*v).is_positive == False342 assert (k*u).is_positive == False343 assert (k*v).is_positive == None344 assert (n*u).is_positive == None345 assert (n*v).is_positive == False346 assert (v*k*u).is_positive == None347 assert (v*n*u).is_positive == False348 assert (-v*k*u).is_positive == False349 assert (-v*n*u).is_positive == None350 assert (17*v*k*u).is_positive == None351 assert (17*v*n*u).is_positive == False352 assert (k*v*n*u).is_positive == None353 assert (x*k).is_positive == None354 assert (u*v*n*x*k).is_positive == None355def test_Mul_is_nonpositive_nonnegative():356 x = Symbol('x', real=True)357 k = Symbol('k', negative=True)358 n = Symbol('n', positive=True)359 u = Symbol('u', nonnegative=True)360 v = Symbol('v', nonpositive=True)361 assert k.is_nonpositive == True362 assert (-k).is_nonpositive == False363 assert (2*k).is_nonpositive == True364 assert n.is_nonpositive == False365 assert (-n).is_nonpositive == True366 assert (2*n).is_nonpositive == False367 assert (n*k).is_nonpositive == True368 assert (2*n*k).is_nonpositive == True369 assert (-n*k).is_nonpositive == False370 assert u.is_nonpositive == None371 assert (-u).is_nonpositive == True372 assert (2*u).is_nonpositive == None373 assert v.is_nonpositive == True374 assert (-v).is_nonpositive == None375 assert (2*v).is_nonpositive == True376 assert (u*v).is_nonpositive == True377 assert (k*u).is_nonpositive == True378 assert (k*v).is_nonpositive == None379 assert (n*u).is_nonpositive == None380 assert (n*v).is_nonpositive == True381 assert (v*k*u).is_nonpositive == None382 assert (v*n*u).is_nonpositive == True383 assert (-v*k*u).is_nonpositive == True384 assert (-v*n*u).is_nonpositive == None385 assert (17*v*k*u).is_nonpositive == None386 assert (17*v*n*u).is_nonpositive == True387 assert (k*v*n*u).is_nonpositive == None388 assert (x*k).is_nonpositive == None389 assert (u*v*n*x*k).is_nonpositive == None390 assert k.is_nonnegative == False391 assert (-k).is_nonnegative == True392 assert (2*k).is_nonnegative == False393 assert n.is_nonnegative == True394 assert (-n).is_nonnegative == False395 assert (2*n).is_nonnegative == True396 assert (n*k).is_nonnegative == False397 assert (2*n*k).is_nonnegative == False398 assert (-n*k).is_nonnegative == True399 assert u.is_nonnegative == True400 assert (-u).is_nonnegative == None401 assert (2*u).is_nonnegative == True402 assert v.is_nonnegative == None403 assert (-v).is_nonnegative == True404 assert (2*v).is_nonnegative == None405 assert (u*v).is_nonnegative == None406 assert (k*u).is_nonnegative == None407 assert (k*v).is_nonnegative == True408 assert (n*u).is_nonnegative == True409 assert (n*v).is_nonnegative == None410 assert (v*k*u).is_nonnegative == True411 assert (v*n*u).is_nonnegative == None412 assert (-v*k*u).is_nonnegative == None413 assert (-v*n*u).is_nonnegative == True414 assert (17*v*k*u).is_nonnegative == True415 assert (17*v*n*u).is_nonnegative == None416 assert (k*v*n*u).is_nonnegative == True417 assert (x*k).is_nonnegative == None418 assert (u*v*n*x*k).is_nonnegative == None419def test_Add_is_even_odd():420 x = Symbol('x', integer=True)421 k = Symbol('k', odd=True)422 n = Symbol('n', odd=True)423 m = Symbol('m', even=True)424 assert (k+7).is_even == True425 assert (k+7).is_odd == False426 assert (-k+7).is_even == True427 assert (-k+7).is_odd == False428 assert (k-12).is_even == False429 assert (k-12).is_odd == True430 assert (-k-12).is_even == False431 assert (-k-12).is_odd == True432 assert (k+n).is_even == True433 assert (k+n).is_odd == False434 assert (k+m).is_even == False435 assert (k+m).is_odd == True436 assert (k+n+m).is_even == True437 assert (k+n+m).is_odd == False438 assert (k+n+x+m).is_even == None439 assert (k+n+x+m).is_odd == None440def test_Add_is_negative_positive():441 x = Symbol('x', real=True)442 k = Symbol('k', negative=True)443 n = Symbol('n', positive=True)444 u = Symbol('u', nonnegative=True)445 v = Symbol('v', nonpositive=True)446 assert (k-2).is_negative == True447 assert (k+17).is_negative == None448 assert (-k-5).is_negative == None449 assert (-k+123).is_negative == False450 assert (k-n).is_negative == True451 assert (k+n).is_negative == None452 assert (-k-n).is_negative == None453 assert (-k+n).is_negative == False454 assert (k-n-2).is_negative == True455 assert (k+n+17).is_negative == None456 assert (-k-n-5).is_negative == None457 assert (-k+n+123).is_negative == False458 assert (-2*k+123*n+17).is_negative == False459 assert (k+u).is_negative == None460 assert (k+v).is_negative == True461 assert (n+u).is_negative == False462 assert (n+v).is_negative == None463 assert (u-v).is_negative == False464 assert (u+v).is_negative == None465 assert (-u-v).is_negative == None466 assert (-u+v).is_negative == None467 assert (u-v+n+2).is_negative == False468 assert (u+v+n+2).is_negative == None469 assert (-u-v+n+2).is_negative == None470 assert (-u+v+n+2).is_negative == None471 assert (k+x).is_negative == None472 assert (k+x-n).is_negative == None473 assert (k-2).is_positive == False474 assert (k+17).is_positive == None475 assert (-k-5).is_positive == None476 assert (-k+123).is_positive == True477 assert (k-n).is_positive == False478 assert (k+n).is_positive == None479 assert (-k-n).is_positive == None480 assert (-k+n).is_positive == True481 assert (k-n-2).is_positive == False482 assert (k+n+17).is_positive == None483 assert (-k-n-5).is_positive == None484 assert (-k+n+123).is_positive == True485 assert (-2*k+123*n+17).is_positive == True486 assert (k+u).is_positive == None487 assert (k+v).is_positive == False488 assert (n+u).is_positive == True489 assert (n+v).is_positive == None490 assert (u-v).is_positive == None491 assert (u+v).is_positive == None492 assert (-u-v).is_positive == None493 assert (-u+v).is_positive == False494 assert (u-v-n-2).is_positive == None495 assert (u+v-n-2).is_positive == None496 assert (-u-v-n-2).is_positive == None497 assert (-u+v-n-2).is_positive == False498 assert (n+x).is_positive == None499 assert (n+x-k).is_positive == None500def test_Add_is_nonpositive_nonnegative():501 x = Symbol('x', real=True)502 k = Symbol('k', negative=True)503 n = Symbol('n', positive=True)504 u = Symbol('u', nonnegative=True)505 v = Symbol('v', nonpositive=True)506 assert (u-2).is_nonpositive == None507 assert (u+17).is_nonpositive == False508 assert (-u-5).is_nonpositive == True509 assert (-u+123).is_nonpositive == None510 assert (u-v).is_nonpositive == None511 assert (u+v).is_nonpositive == None512 assert (-u-v).is_nonpositive == None513 assert (-u+v).is_nonpositive == True514 assert (u-v-2).is_nonpositive == None515 assert (u+v+17).is_nonpositive == None516 assert (-u-v-5).is_nonpositive == None517 assert (-u+v-123).is_nonpositive == True518 assert (-2*u+123*v-17).is_nonpositive == True519 assert (k+u).is_nonpositive == None520 assert (k+v).is_nonpositive == True521 assert (n+u).is_nonpositive == False522 assert (n+v).is_nonpositive == None523 assert (k-n).is_nonpositive == True524 assert (k+n).is_nonpositive == None525 assert (-k-n).is_nonpositive == None526 assert (-k+n).is_nonpositive == False527 assert (k-n+u+2).is_nonpositive == None528 assert (k+n+u+2).is_nonpositive == None529 assert (-k-n+u+2).is_nonpositive == None530 assert (-k+n+u+2).is_nonpositive == False531 assert (u+x).is_nonpositive == None532 assert (v-x-n).is_nonpositive == None533 assert (u-2).is_nonnegative == None534 assert (u+17).is_nonnegative == True535 assert (-u-5).is_nonnegative == False536 assert (-u+123).is_nonnegative == None537 assert (u-v).is_nonnegative == True538 assert (u+v).is_nonnegative == None539 assert (-u-v).is_nonnegative == None540 assert (-u+v).is_nonnegative == None541 assert (u-v+2).is_nonnegative == True542 assert (u+v+17).is_nonnegative == None543 assert (-u-v-5).is_nonnegative == None544 assert (-u+v-123).is_nonnegative == False545 assert (2*u-123*v+17).is_nonnegative == True546 assert (k+u).is_nonnegative == None547 assert (k+v).is_nonnegative == False548 assert (n+u).is_nonnegative == True549 assert (n+v).is_nonnegative == None550 assert (k-n).is_nonnegative == False551 assert (k+n).is_nonnegative == None552 assert (-k-n).is_nonnegative == None553 assert (-k+n).is_nonnegative == True554 assert (k-n-u-2).is_nonnegative == False555 assert (k+n-u-2).is_nonnegative == None556 assert (-k-n-u-2).is_nonnegative == None557 assert (-k+n-u-2).is_nonnegative == None558 assert (u-x).is_nonnegative == None559 assert (v+x+n).is_nonnegative == None560def test_Pow_is_integer():561 x = Symbol('x')562 k = Symbol('k', integer=True)563 n = Symbol('n', nni=True)564 m = Symbol('m', pi=True)565 assert (k**2).is_integer == True566 assert (k**(-2)).is_integer == False567 assert (2**k).is_integer == None568 assert (2**(-k)).is_integer == None569 assert (2**n).is_integer == True570 assert (2**(-n)).is_integer == None571 assert (2**m).is_integer == True572 assert (2**(-m)).is_integer == False573 assert (x**2).is_integer == None574 assert (2**x).is_integer == None575 assert (k**n).is_integer == True576 assert (k**(-n)).is_integer == None577 assert (k**x).is_integer == None578 assert (x**k).is_integer == None579 assert (k**(n*m)).is_integer == True580 assert (k**(-n*m)).is_integer == None581@XFAIL582def test_Pow_is_bounded():583 x = Symbol('x', real=True)584 assert (x**2).is_bounded == None585 assert (sin(x)**2).is_bounded == True586 assert (sin(x)**x).is_bounded == None587 assert (sin(x)**exp(x)).is_bounded == None588 # XXX This first one fails589 assert (1/sin(x)).is_bounded == False590 assert (1/exp(x)).is_bounded == False591def test_Pow_is_even_odd():592 x = Symbol('x')593 k = Symbol('k', even=True)594 n = Symbol('n', odd=True)595 m = Symbol('m', nni=True)596 assert (k**2).is_even == True597 assert (n**2).is_even == False598 assert (2**k).is_even == None599 assert (k**m).is_even == True600 assert (n**m).is_even == False601 assert (k**x).is_even == None602 assert (n**x).is_even == None603 assert (k**2).is_odd == False604 assert (n**2).is_odd == True605 assert (3**k).is_odd == None606 assert (k**m).is_odd == False607 assert (n**m).is_odd == True608 assert (k**x).is_odd == None609 assert (n**x).is_odd == None610def test_Pow_is_negative_positive():611 x = Symbol('x', real=True)612 k = Symbol('k', pi=True)613 n = Symbol('n', even=True)614 m = Symbol('m', odd=True)615 assert (2**x).is_positive == True616 assert ((-2)**x).is_positive == None617 assert ((-2)**n).is_positive == True618 assert ((-2)**m).is_positive == False619 assert (k**2).is_positive == True620 assert (k**(-2)).is_positive == True621 assert (k**x).is_positive == True622 assert ((-k)**x).is_positive == None623 assert ((-k)**n).is_positive == True624 assert ((-k)**m).is_positive == False625 assert (2**x).is_negative == False626 assert ((-2)**x).is_negative == None627 assert ((-2)**n).is_negative == False628 assert ((-2)**m).is_negative == True629 assert (k**2).is_negative == False630 assert (k**(-2)).is_negative == False631 assert (k**x).is_negative == False632 assert ((-k)**x).is_negative == None633 assert ((-k)**n).is_negative == False634 assert ((-k)**m).is_negative == True635def test_Pow_is_nonpositive_nonnegative():636 x = Symbol('x', real=True)637 k = Symbol('k', nni=True)638 n = Symbol('n', even=True)639 m = Symbol('m', odd=True)640 assert (2**x).is_nonnegative == True641 assert ((-2)**x).is_nonnegative == None642 assert ((-2)**n).is_nonnegative == True643 assert ((-2)**m).is_nonnegative == False644 assert (k**2).is_nonnegative == True645 assert (k**(-2)).is_nonnegative == True646 assert (k**x).is_nonnegative == True647 assert ((-k)**x).is_nonnegative == None648 assert ((-k)**n).is_nonnegative == True649 assert ((-k)**m).is_nonnegative == None650 assert (2**x).is_nonpositive == False651 assert ((-2)**x).is_nonpositive == None652 assert ((-2)**n).is_nonpositive == False653 assert ((-2)**m).is_nonpositive == True654 assert (k**2).is_nonpositive == None655 assert (k**(-2)).is_nonpositive == None656 assert (k**x).is_nonpositive == None657 assert ((-k)**x).is_nonpositive == None658 assert ((-k)**n).is_nonpositive == None...
infinity.py
Source:infinity.py
...4@functools.total_ordering5class Infinity:6 def __init__(self, positive=True):7 self.__positive = positive8 def is_positive(self):9 return self.__positive10 @staticmethod11 def nan_check(to_check):12 if isinstance(to_check, float):13 return math.isnan(to_check)14 return False15 def __repr__(self):16 return "+infinity" if self.is_positive() else "-infinity"17 def __str__(self):18 return self.__repr__()19 def __hash__(self):20 return hash(self.is_positive())21 # +self22 def __pos__(self):23 return Infinity(self.is_positive())24 # -self25 def __neg__(self):26 return Infinity(not self.is_positive())27 # abs(self)28 def __abs__(self):29 return Infinity()30 # self < other31 def __lt__(self, other):32 if Infinity.nan_check(other):33 return False34 elif isinstance(other, Infinity):35 return not self.is_positive() and other.is_positive()36 return not self.is_positive()37 # self == other38 def __eq__(self, other):39 if isinstance(other, Infinity):40 return self.is_positive() == other.is_positive()41 return False42 # self + other43 def __add__(self, other):44 if Infinity.nan_check(other):45 return math.nan46 elif isinstance(other, Infinity):47 if self.is_positive() == other.is_positive():48 return Infinity(self.is_positive())49 else:50 return math.nan51 return Infinity(self.is_positive())52 # other + self == self + other53 def __radd__(self, other):54 return self + other55 # self - other == self + (-other)56 def __sub__(self, other):57 if isinstance(other, Infinity):58 other = -other59 return self + other60 # other - self == (-self) + other61 def __rsub__(self, other):62 return -self + other63 # self * other64 def __mul__(self, other):65 if Infinity.nan_check(other) or other == 0:66 return math.nan67 elif isinstance(other, Infinity):68 return Infinity(self.is_positive() == other.is_positive())69 return Infinity(self.is_positive() == (other > 0))70 71 # other * self == self * other72 def __rmul__(self, other):73 return self * other74 # self / other75 def __truediv__(self, other):76 if other == 0:77 raise ZeroDivisionError()78 if isinstance(other, Infinity):79 return math.nan80 return self * other81 # other / self82 def __rtruediv__(self, other):83 if Infinity.nan_check(other):84 return math.nan85 return 0.0 if self.is_positive() == (other > 0) else -0.086 # self // other87 def __floordiv__(self, other):88 return self / other89 # other // self90 def __rfloordiv__(self, other):91 if Infinity.nan_check(other):92 return math.nan93 return 094 # self % other95 def __mod__(self, other):96 if other == 0:97 raise ZeroDivisionError()98 return math.nan99 # other % self100 def __rmod__(self, other):101 if Infinity.nan_check(other):102 return math.nan103 if other == 0 or (self.is_positive() == (other > 0)):104 return other105 else:106 return Infinity(self.is_positive())107 # divmod(self, other)108 def __divmod__(self, other):109 return (self // other, self % other)110 # divmod(other, self)111 def __rdivmod__(self, other):...
test_variant_signal.py
Source:test_variant_signal.py
1from rest_framework.test import APITestCase2from tests.factories import QuestionFactory, VariantFactory3from jobadvisor.polls.models import Variant4class VariantSignalTestCase(APITestCase):5 @classmethod6 def setUpTestData(cls) -> None:7 """8 SetUp test data.9 :return: None10 """11 cls.question = QuestionFactory()12 def test_calculate_weight_some_negative_variant(self) -> None:13 VariantFactory(question=self.question, is_positive=False)14 VariantFactory(question=self.question, is_positive=False)15 negative_variant = Variant.objects.filter(16 question_id=self.question.id,17 is_positive=False18 )19 self.assertEqual(negative_variant.first().weight, 0.5)20 self.assertEqual(negative_variant.last().weight, 0.5)21 def test_calculate_weight_negative_variant(self) -> None:22 VariantFactory(question=self.question, is_positive=False)23 negative_variant = Variant.objects.get(24 question_id=self.question.id,25 is_positive=False26 )27 self.assertEqual(negative_variant.weight, 0)28 def test_calculate_weight_positive_variant(self) -> None:29 VariantFactory(question=self.question, is_positive=True)30 positive_variant = Variant.objects.get(31 question_id=self.question.id,32 is_positive=True33 )34 self.assertEqual(positive_variant.weight, 1)35 def test_recalculate_weight_del_some_negative_variant(self) -> None:36 VariantFactory(question=self.question, is_positive=False)37 VariantFactory(question=self.question, is_positive=False)38 VariantFactory(question=self.question, is_positive=False)39 VariantFactory(question=self.question, is_positive=False)40 negative_variant = Variant.objects.filter(41 question_id=self.question.id,42 is_positive=False43 )44 self.assertEqual(negative_variant.first().weight, 0.25)45 self.assertEqual(negative_variant.last().weight, 0.25)46 negative_variant.first().delete()47 negative_variant.last().delete()48 self.assertEqual(negative_variant.first().weight, 0.5)49 self.assertEqual(negative_variant.last().weight, 0.5)50 def test_recalculate_weight_del_negative_variant(self) -> None:51 VariantFactory(question=self.question, is_positive=False)52 VariantFactory(question=self.question, is_positive=False)53 negative_variant = Variant.objects.filter(54 question_id=self.question.id,55 is_positive=False56 )57 self.assertEqual(negative_variant.first().weight, 0.5)58 self.assertEqual(negative_variant.last().weight, 0.5)59 negative_variant.first().delete()60 self.assertEqual(negative_variant.first().weight, 0)61 def test_recalculate_weight_del_positive_variant(self) -> None:62 VariantFactory(question=self.question, is_positive=True)63 VariantFactory(question=self.question, is_positive=True)64 positive_variant = Variant.objects.filter(65 question_id=self.question.id,66 is_positive=True67 )68 self.assertEqual(positive_variant.first().weight, 1)69 self.assertEqual(positive_variant.last().weight, 1)70 positive_variant.first().delete()...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!