@@ -408,6 +408,14 @@ def test_kleene_or(self):
408
408
result = b | a
409
409
tm .assert_extension_array_equal (result , expected )
410
410
411
+ # ensure we haven't mutated anything inplace
412
+ tm .assert_extension_array_equal (
413
+ a , pd .array ([True ] * 3 + [False ] * 3 + [None ] * 3 , dtype = "boolean" )
414
+ )
415
+ tm .assert_extension_array_equal (
416
+ b , pd .array ([True , False , None ] * 3 , dtype = "boolean" )
417
+ )
418
+
411
419
@pytest .mark .parametrize (
412
420
"other, expected" ,
413
421
[
@@ -426,6 +434,11 @@ def test_kleene_or_scalar(self, other, expected):
426
434
result = other | a
427
435
tm .assert_extension_array_equal (result , expected )
428
436
437
+ # ensure we haven't mutated anything inplace
438
+ tm .assert_extension_array_equal (
439
+ a , pd .array ([True , False , None ], dtype = "boolean" )
440
+ )
441
+
429
442
def test_kleene_and (self ):
430
443
# A clear test of behavior.
431
444
a = pd .array ([True ] * 3 + [False ] * 3 + [None ] * 3 , dtype = "boolean" )
@@ -439,6 +452,14 @@ def test_kleene_and(self):
439
452
result = b & a
440
453
tm .assert_extension_array_equal (result , expected )
441
454
455
+ # ensure we haven't mutated anything inplace
456
+ tm .assert_extension_array_equal (
457
+ a , pd .array ([True ] * 3 + [False ] * 3 + [None ] * 3 , dtype = "boolean" )
458
+ )
459
+ tm .assert_extension_array_equal (
460
+ b , pd .array ([True , False , None ] * 3 , dtype = "boolean" )
461
+ )
462
+
442
463
@pytest .mark .parametrize (
443
464
"other, expected" ,
444
465
[
@@ -456,6 +477,11 @@ def test_kleene_and_scalar(self, other, expected):
456
477
result = other & a
457
478
tm .assert_extension_array_equal (result , expected )
458
479
480
+ # ensure we haven't mutated anything inplace
481
+ tm .assert_extension_array_equal (
482
+ a , pd .array ([True , False , None ], dtype = "boolean" )
483
+ )
484
+
459
485
def test_kleene_xor (self ):
460
486
a = pd .array ([True ] * 3 + [False ] * 3 + [None ] * 3 , dtype = "boolean" )
461
487
b = pd .array ([True , False , None ] * 3 , dtype = "boolean" )
@@ -468,6 +494,14 @@ def test_kleene_xor(self):
468
494
result = b ^ a
469
495
tm .assert_extension_array_equal (result , expected )
470
496
497
+ # ensure we haven't mutated anything inplace
498
+ tm .assert_extension_array_equal (
499
+ a , pd .array ([True ] * 3 + [False ] * 3 + [None ] * 3 , dtype = "boolean" )
500
+ )
501
+ tm .assert_extension_array_equal (
502
+ b , pd .array ([True , False , None ] * 3 , dtype = "boolean" )
503
+ )
504
+
471
505
@pytest .mark .parametrize (
472
506
"other, expected" ,
473
507
[
@@ -485,6 +519,11 @@ def test_kleene_xor_scalar(self, other, expected):
485
519
result = other ^ a
486
520
tm .assert_extension_array_equal (result , expected )
487
521
522
+ # ensure we haven't mutated anything inplace
523
+ tm .assert_extension_array_equal (
524
+ a , pd .array ([True , False , None ], dtype = "boolean" )
525
+ )
526
+
488
527
489
528
class TestComparisonOps (BaseOpsUtil ):
490
529
def _compare_other (self , data , op_name , other ):
0 commit comments