25
25
import pandas .tseries .offsets as offsets
26
26
27
27
from pandas .io .pickle import read_pickle
28
- from pandas .tslib import NaT , Timestamp
28
+ from pandas .tslib import NaT , Timestamp , Timedelta
29
29
import pandas .tslib as tslib
30
30
from pandas .util .testing import assertRaisesRegexp
31
31
import pandas .util .testing as tm
@@ -2817,6 +2817,7 @@ def test_Easter():
2817
2817
assertEq (- Easter (), datetime (2010 , 4 , 4 ), datetime (2009 , 4 , 12 ))
2818
2818
assertEq (- Easter (2 ), datetime (2010 , 4 , 4 ), datetime (2008 , 3 , 23 ))
2819
2819
2820
+
2820
2821
def test_Hour ():
2821
2822
assertEq (Hour (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 1 ))
2822
2823
assertEq (Hour (- 1 ), datetime (2010 , 1 , 1 , 1 ), datetime (2010 , 1 , 1 ))
@@ -2904,6 +2905,10 @@ def test_Nanosecond():
2904
2905
assert (Nano (3 ) + Nano (2 )) == Nano (5 )
2905
2906
assert (Nano (3 ) - Nano (2 )) == Nano ()
2906
2907
2908
+ # GH9284
2909
+ assert Nano (1 ) + Nano (10 ) == Nano (11 )
2910
+ assert Nano (5 ) + Micro (1 ) == Nano (1005 )
2911
+ assert Micro (5 ) + Nano (1 ) == Nano (5001 )
2907
2912
2908
2913
def test_tick_offset ():
2909
2914
assert not Day ().isAnchored ()
@@ -2928,6 +2933,23 @@ def test_compare_ticks():
2928
2933
assert (kls (3 ) != kls (4 ))
2929
2934
2930
2935
2936
+ class TestTicks (tm .TestCase ):
2937
+
2938
+ def test_ticks (self ):
2939
+ offsets = [(Hour , Timedelta (hours = 5 )),
2940
+ (Minute , Timedelta (hours = 2 , minutes = 3 )),
2941
+ (Second , Timedelta (hours = 2 , seconds = 3 )),
2942
+ (Milli , Timedelta (hours = 2 , milliseconds = 3 )),
2943
+ (Micro , Timedelta (hours = 2 , microseconds = 3 )),
2944
+ (Nano , Timedelta (hours = 2 , nanoseconds = 3 ))]
2945
+
2946
+ for kls , expected in offsets :
2947
+ offset = kls (3 )
2948
+ result = offset + Timedelta (hours = 2 )
2949
+ self .assertTrue (isinstance (result , Timedelta ))
2950
+ self .assertEqual (result , expected )
2951
+
2952
+
2931
2953
class TestOffsetNames (tm .TestCase ):
2932
2954
def test_get_offset_name (self ):
2933
2955
assertRaisesRegexp (ValueError , 'Bad rule.*BusinessDays' , get_offset_name , BDay (2 ))
0 commit comments