@@ -51,44 +51,6 @@ def test_numeric_compat(self):
51
51
pytest .raises (ValueError , lambda : idx * self ._holder (np .arange (3 )))
52
52
pytest .raises (ValueError , lambda : idx * np .array ([1 , 2 ]))
53
53
54
- # FIXME: duplicate. This came from `test_timedelta`, whereas the
55
- # version above came from `test_astype`. Make sure there aren't more
56
- # duplicates.
57
- def test_numeric_compat__ (self ):
58
-
59
- idx = self ._holder (np .arange (5 , dtype = 'int64' ))
60
- didx = self ._holder (np .arange (5 , dtype = 'int64' ) ** 2 )
61
- result = idx * 1
62
- tm .assert_index_equal (result , idx )
63
-
64
- result = 1 * idx
65
- tm .assert_index_equal (result , idx )
66
-
67
- result = idx / 1
68
- tm .assert_index_equal (result , idx )
69
-
70
- result = idx // 1
71
- tm .assert_index_equal (result , idx )
72
-
73
- result = idx * np .array (5 , dtype = 'int64' )
74
- tm .assert_index_equal (result ,
75
- self ._holder (np .arange (5 , dtype = 'int64' ) * 5 ))
76
-
77
- result = idx * np .arange (5 , dtype = 'int64' )
78
- tm .assert_index_equal (result , didx )
79
-
80
- result = idx * Series (np .arange (5 , dtype = 'int64' ))
81
- tm .assert_index_equal (result , didx )
82
-
83
- result = idx * Series (np .arange (5 , dtype = 'float64' ) + 0.1 )
84
- tm .assert_index_equal (result , self ._holder (np .arange (
85
- 5 , dtype = 'float64' ) * (np .arange (5 , dtype = 'float64' ) + 0.1 )))
86
-
87
- # invalid
88
- pytest .raises (TypeError , lambda : idx * idx )
89
- pytest .raises (ValueError , lambda : idx * self ._holder (np .arange (3 )))
90
- pytest .raises (ValueError , lambda : idx * np .array ([1 , 2 ]))
91
-
92
54
def test_ufunc_coercions (self ):
93
55
# normal ops are also tested in tseries/test_timedeltas.py
94
56
idx = TimedeltaIndex (['2H' , '4H' , '6H' , '8H' , '10H' ],
@@ -406,47 +368,6 @@ def test_addition_ops(self):
406
368
expected = Timestamp ('20130102' )
407
369
assert result == expected
408
370
409
- # TODO: Split by op, better name
410
- def test_ops (self ):
411
- td = Timedelta (10 , unit = 'd' )
412
- assert - td == Timedelta (- 10 , unit = 'd' )
413
- assert + td == Timedelta (10 , unit = 'd' )
414
- assert td - td == Timedelta (0 , unit = 'ns' )
415
- assert (td - pd .NaT ) is pd .NaT
416
- assert td + td == Timedelta (20 , unit = 'd' )
417
- assert (td + pd .NaT ) is pd .NaT
418
- assert td * 2 == Timedelta (20 , unit = 'd' )
419
- assert (td * pd .NaT ) is pd .NaT
420
- assert td / 2 == Timedelta (5 , unit = 'd' )
421
- assert td // 2 == Timedelta (5 , unit = 'd' )
422
- assert abs (td ) == td
423
- assert abs (- td ) == td
424
- assert td / td == 1
425
- assert (td / pd .NaT ) is np .nan
426
- assert (td // pd .NaT ) is np .nan
427
-
428
- # invert
429
- assert - td == Timedelta ('-10d' )
430
- assert td * - 1 == Timedelta ('-10d' )
431
- assert - 1 * td == Timedelta ('-10d' )
432
- assert abs (- td ) == Timedelta ('10d' )
433
-
434
- # invalid multiply with another timedelta
435
- pytest .raises (TypeError , lambda : td * td )
436
-
437
- # can't operate with integers
438
- pytest .raises (TypeError , lambda : td + 2 )
439
- pytest .raises (TypeError , lambda : td - 2 )
440
-
441
- def test_ops_offsets (self ):
442
- td = Timedelta (10 , unit = 'd' )
443
- assert Timedelta (241 , unit = 'h' ) == td + pd .offsets .Hour (1 )
444
- assert Timedelta (241 , unit = 'h' ) == pd .offsets .Hour (1 ) + td
445
- assert 240 == td / pd .offsets .Hour (1 )
446
- assert 1 / 240.0 == pd .offsets .Hour (1 ) / td
447
- assert Timedelta (239 , unit = 'h' ) == td - pd .offsets .Hour (1 )
448
- assert Timedelta (- 239 , unit = 'h' ) == pd .offsets .Hour (1 ) - td
449
-
450
371
def test_ops_ndarray (self ):
451
372
td = Timedelta ('1 day' )
452
373
@@ -530,50 +451,6 @@ def test_ops_series_object(self):
530
451
tm .assert_series_equal (s + pd .Timedelta ('00:30:00' ), exp )
531
452
tm .assert_series_equal (pd .Timedelta ('00:30:00' ) + s , exp )
532
453
533
- def test_ops_notimplemented (self ):
534
- class Other :
535
- pass
536
-
537
- other = Other ()
538
-
539
- td = Timedelta ('1 day' )
540
- assert td .__add__ (other ) is NotImplemented
541
- assert td .__sub__ (other ) is NotImplemented
542
- assert td .__truediv__ (other ) is NotImplemented
543
- assert td .__mul__ (other ) is NotImplemented
544
- assert td .__floordiv__ (other ) is NotImplemented
545
-
546
- def test_timedelta_ops_scalar (self ):
547
- # GH 6808
548
- base = pd .to_datetime ('20130101 09:01:12.123456' )
549
- expected_add = pd .to_datetime ('20130101 09:01:22.123456' )
550
- expected_sub = pd .to_datetime ('20130101 09:01:02.123456' )
551
-
552
- for offset in [pd .to_timedelta (10 , unit = 's' ), timedelta (seconds = 10 ),
553
- np .timedelta64 (10 , 's' ),
554
- np .timedelta64 (10000000000 , 'ns' ),
555
- pd .offsets .Second (10 )]:
556
- result = base + offset
557
- assert result == expected_add
558
-
559
- result = base - offset
560
- assert result == expected_sub
561
-
562
- base = pd .to_datetime ('20130102 09:01:12.123456' )
563
- expected_add = pd .to_datetime ('20130103 09:01:22.123456' )
564
- expected_sub = pd .to_datetime ('20130101 09:01:02.123456' )
565
-
566
- for offset in [pd .to_timedelta ('1 day, 00:00:10' ),
567
- pd .to_timedelta ('1 days, 00:00:10' ),
568
- timedelta (days = 1 , seconds = 10 ),
569
- np .timedelta64 (1 , 'D' ) + np .timedelta64 (10 , 's' ),
570
- pd .offsets .Day () + pd .offsets .Second (10 )]:
571
- result = base + offset
572
- assert result == expected_add
573
-
574
- result = base - offset
575
- assert result == expected_sub
576
-
577
454
def test_timedelta_ops_with_missing_values (self ):
578
455
# setup
579
456
s1 = pd .to_timedelta (Series (['00:00:01' ]))
0 commit comments