@@ -2818,123 +2818,10 @@ def test_Easter():
2818
2818
assertEq (- Easter (2 ), datetime (2010 , 4 , 4 ), datetime (2008 , 3 , 23 ))
2819
2819
2820
2820
2821
- def test_Hour ():
2822
- assertEq (Hour (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 1 ))
2823
- assertEq (Hour (- 1 ), datetime (2010 , 1 , 1 , 1 ), datetime (2010 , 1 , 1 ))
2824
- assertEq (2 * Hour (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 2 ))
2825
- assertEq (- 1 * Hour (), datetime (2010 , 1 , 1 , 1 ), datetime (2010 , 1 , 1 ))
2826
-
2827
- assert (Hour (3 ) + Hour (2 )) == Hour (5 )
2828
- assert (Hour (3 ) - Hour (2 )) == Hour ()
2829
-
2830
- assert (Hour (4 ) != Hour (1 ))
2831
-
2832
- assert not Hour ().isAnchored ()
2833
-
2834
-
2835
- def test_Minute ():
2836
- assertEq (Minute (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 0 , 1 ))
2837
- assertEq (Minute (- 1 ), datetime (2010 , 1 , 1 , 0 , 1 ), datetime (2010 , 1 , 1 ))
2838
- assertEq (2 * Minute (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 0 , 2 ))
2839
- assertEq (- 1 * Minute (), datetime (2010 , 1 , 1 , 0 , 1 ), datetime (2010 , 1 , 1 ))
2840
-
2841
- assert (Minute (3 ) + Minute (2 )) == Minute (5 )
2842
- assert (Minute (3 ) - Minute (2 )) == Minute ()
2843
- assert (Minute (5 ) != Minute ())
2844
-
2845
- assert not Minute ().isAnchored ()
2846
-
2847
-
2848
- def test_Second ():
2849
- assertEq (Second (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 1 ))
2850
- assertEq (Second (- 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 1 ), datetime (2010 , 1 , 1 ))
2851
- assertEq (2 * Second (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 2 ))
2852
- assertEq (
2853
- - 1 * Second (), datetime (2010 , 1 , 1 , 0 , 0 , 1 ), datetime (2010 , 1 , 1 ))
2854
-
2855
- assert (Second (3 ) + Second (2 )) == Second (5 )
2856
- assert (Second (3 ) - Second (2 )) == Second ()
2857
-
2858
- assert not Second ().isAnchored ()
2859
-
2860
-
2861
- def test_Millisecond ():
2862
- assertEq (Milli (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 0 , 1000 ))
2863
- assertEq (Milli (- 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 0 , 1000 ), datetime (2010 , 1 , 1 ))
2864
- assertEq (Milli (2 ), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 0 , 2000 ))
2865
- assertEq (2 * Milli (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 0 , 2000 ))
2866
- assertEq (- 1 * Milli (), datetime (2010 , 1 , 1 , 0 , 0 , 0 , 1000 ), datetime (2010 , 1 , 1 ))
2867
-
2868
- assert (Milli (3 ) + Milli (2 )) == Milli (5 )
2869
- assert (Milli (3 ) - Milli (2 )) == Milli ()
2870
-
2871
-
2872
- def test_MillisecondTimestampArithmetic ():
2873
- assertEq (Milli (), Timestamp ('2010-01-01' ), Timestamp ('2010-01-01 00:00:00.001' ))
2874
- assertEq (Milli (- 1 ), Timestamp ('2010-01-01 00:00:00.001' ), Timestamp ('2010-01-01' ))
2875
-
2876
-
2877
- def test_Microsecond ():
2878
- assertEq (Micro (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 0 , 1 ))
2879
- assertEq (Micro (- 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 0 , 1 ), datetime (2010 , 1 , 1 ))
2880
- assertEq (2 * Micro (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 0 , 2 ))
2881
- assertEq (- 1 * Micro (), datetime (2010 , 1 , 1 , 0 , 0 , 0 , 1 ), datetime (2010 , 1 , 1 ))
2882
-
2883
- assert (Micro (3 ) + Micro (2 )) == Micro (5 )
2884
- assert (Micro (3 ) - Micro (2 )) == Micro ()
2885
-
2886
-
2887
- def test_NanosecondGeneric ():
2888
- timestamp = Timestamp (datetime (2010 , 1 , 1 ))
2889
- assert timestamp .nanosecond == 0
2890
-
2891
- result = timestamp + Nano (10 )
2892
- assert result .nanosecond == 10
2893
-
2894
- reverse_result = Nano (10 ) + timestamp
2895
- assert reverse_result .nanosecond == 10
2896
-
2897
-
2898
- def test_Nanosecond ():
2899
- timestamp = Timestamp (datetime (2010 , 1 , 1 ))
2900
- assertEq (Nano (), timestamp , timestamp + np .timedelta64 (1 , 'ns' ))
2901
- assertEq (Nano (- 1 ), timestamp + np .timedelta64 (1 , 'ns' ), timestamp )
2902
- assertEq (2 * Nano (), timestamp , timestamp + np .timedelta64 (2 , 'ns' ))
2903
- assertEq (- 1 * Nano (), timestamp + np .timedelta64 (1 , 'ns' ), timestamp )
2904
-
2905
- assert (Nano (3 ) + Nano (2 )) == Nano (5 )
2906
- assert (Nano (3 ) - Nano (2 )) == Nano ()
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 )
2912
-
2913
- def test_tick_offset ():
2914
- assert not Day ().isAnchored ()
2915
- assert not Milli ().isAnchored ()
2916
- assert not Micro ().isAnchored ()
2917
- assert not Nano ().isAnchored ()
2918
-
2919
-
2920
- def test_compare_ticks ():
2921
- offsets = [Hour , Minute , Second , Milli , Micro ]
2922
-
2923
- for kls in offsets :
2924
- three = kls (3 )
2925
- four = kls (4 )
2926
-
2927
- for _ in range (10 ):
2928
- assert (three < kls (4 ))
2929
- assert (kls (3 ) < four )
2930
- assert (four > kls (3 ))
2931
- assert (kls (4 ) > three )
2932
- assert (kls (3 ) == kls (3 ))
2933
- assert (kls (3 ) != kls (4 ))
2934
-
2935
-
2936
2821
class TestTicks (tm .TestCase ):
2937
2822
2823
+ ticks = [Hour , Minute , Second , Milli , Micro , Nano ]
2824
+
2938
2825
def test_ticks (self ):
2939
2826
offsets = [(Hour , Timedelta (hours = 5 )),
2940
2827
(Minute , Timedelta (hours = 2 , minutes = 3 )),
@@ -2949,6 +2836,129 @@ def test_ticks(self):
2949
2836
self .assertTrue (isinstance (result , Timedelta ))
2950
2837
self .assertEqual (result , expected )
2951
2838
2839
+ def test_Hour (self ):
2840
+ assertEq (Hour (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 1 ))
2841
+ assertEq (Hour (- 1 ), datetime (2010 , 1 , 1 , 1 ), datetime (2010 , 1 , 1 ))
2842
+ assertEq (2 * Hour (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 2 ))
2843
+ assertEq (- 1 * Hour (), datetime (2010 , 1 , 1 , 1 ), datetime (2010 , 1 , 1 ))
2844
+
2845
+ self .assertEquals (Hour (3 ) + Hour (2 ), Hour (5 ))
2846
+ self .assertEquals (Hour (3 ) - Hour (2 ), Hour ())
2847
+
2848
+ self .assertNotEquals (Hour (4 ), Hour (1 ))
2849
+
2850
+ def test_Minute (self ):
2851
+ assertEq (Minute (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 0 , 1 ))
2852
+ assertEq (Minute (- 1 ), datetime (2010 , 1 , 1 , 0 , 1 ), datetime (2010 , 1 , 1 ))
2853
+ assertEq (2 * Minute (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 0 , 2 ))
2854
+ assertEq (- 1 * Minute (), datetime (2010 , 1 , 1 , 0 , 1 ), datetime (2010 , 1 , 1 ))
2855
+
2856
+ self .assertEquals (Minute (3 ) + Minute (2 ), Minute (5 ))
2857
+ self .assertEquals (Minute (3 ) - Minute (2 ), Minute ())
2858
+ self .assertNotEquals (Minute (5 ), Minute ())
2859
+
2860
+ def test_Second (self ):
2861
+ assertEq (Second (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 1 ))
2862
+ assertEq (Second (- 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 1 ), datetime (2010 , 1 , 1 ))
2863
+ assertEq (2 * Second (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 2 ))
2864
+ assertEq (
2865
+ - 1 * Second (), datetime (2010 , 1 , 1 , 0 , 0 , 1 ), datetime (2010 , 1 , 1 ))
2866
+
2867
+ self .assertEquals (Second (3 ) + Second (2 ), Second (5 ))
2868
+ self .assertEquals (Second (3 ) - Second (2 ), Second ())
2869
+
2870
+ def test_Millisecond (self ):
2871
+ assertEq (Milli (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 0 , 1000 ))
2872
+ assertEq (Milli (- 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 0 , 1000 ), datetime (2010 , 1 , 1 ))
2873
+ assertEq (Milli (2 ), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 0 , 2000 ))
2874
+ assertEq (2 * Milli (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 0 , 2000 ))
2875
+ assertEq (- 1 * Milli (), datetime (2010 , 1 , 1 , 0 , 0 , 0 , 1000 ), datetime (2010 , 1 , 1 ))
2876
+
2877
+ self .assertEquals (Milli (3 ) + Milli (2 ), Milli (5 ))
2878
+ self .assertEquals (Milli (3 ) - Milli (2 ), Milli ())
2879
+
2880
+ def test_MillisecondTimestampArithmetic (self ):
2881
+ assertEq (Milli (), Timestamp ('2010-01-01' ), Timestamp ('2010-01-01 00:00:00.001' ))
2882
+ assertEq (Milli (- 1 ), Timestamp ('2010-01-01 00:00:00.001' ), Timestamp ('2010-01-01' ))
2883
+
2884
+ def test_Microsecond (self ):
2885
+ assertEq (Micro (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 0 , 1 ))
2886
+ assertEq (Micro (- 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 0 , 1 ), datetime (2010 , 1 , 1 ))
2887
+ assertEq (2 * Micro (), datetime (2010 , 1 , 1 ), datetime (2010 , 1 , 1 , 0 , 0 , 0 , 2 ))
2888
+ assertEq (- 1 * Micro (), datetime (2010 , 1 , 1 , 0 , 0 , 0 , 1 ), datetime (2010 , 1 , 1 ))
2889
+
2890
+ self .assertEquals (Micro (3 ) + Micro (2 ), Micro (5 ))
2891
+ self .assertEquals (Micro (3 ) - Micro (2 ), Micro ())
2892
+
2893
+ def test_NanosecondGeneric (self ):
2894
+ timestamp = Timestamp (datetime (2010 , 1 , 1 ))
2895
+ self .assertEquals (timestamp .nanosecond , 0 )
2896
+
2897
+ result = timestamp + Nano (10 )
2898
+ self .assertEquals (result .nanosecond , 10 )
2899
+
2900
+ reverse_result = Nano (10 ) + timestamp
2901
+ self .assertEquals (reverse_result .nanosecond , 10 )
2902
+
2903
+ def test_Nanosecond (self ):
2904
+ timestamp = Timestamp (datetime (2010 , 1 , 1 ))
2905
+ assertEq (Nano (), timestamp , timestamp + np .timedelta64 (1 , 'ns' ))
2906
+ assertEq (Nano (- 1 ), timestamp + np .timedelta64 (1 , 'ns' ), timestamp )
2907
+ assertEq (2 * Nano (), timestamp , timestamp + np .timedelta64 (2 , 'ns' ))
2908
+ assertEq (- 1 * Nano (), timestamp + np .timedelta64 (1 , 'ns' ), timestamp )
2909
+
2910
+ self .assertEquals (Nano (3 ) + Nano (2 ), Nano (5 ))
2911
+ self .assertEquals (Nano (3 ) - Nano (2 ), Nano ())
2912
+
2913
+ # GH9284
2914
+ self .assertEquals (Nano (1 ) + Nano (10 ), Nano (11 ))
2915
+ self .assertEquals (Nano (5 ) + Micro (1 ), Nano (1005 ))
2916
+ self .assertEquals (Micro (5 ) + Nano (1 ), Nano (5001 ))
2917
+
2918
+ def test_tick_zero (self ):
2919
+ for t1 in self .ticks :
2920
+ for t2 in self .ticks :
2921
+ self .assertEquals (t1 (0 ), t2 (0 ))
2922
+ self .assertEquals (t1 (0 ) + t2 (0 ), t1 (0 ))
2923
+
2924
+ if t1 is not Nano :
2925
+ self .assertEquals (t1 (2 ) + t2 (0 ), t1 (2 ))
2926
+ if t1 is Nano :
2927
+ self .assertEquals (t1 (2 ) + Nano (0 ), t1 (2 ))
2928
+
2929
+ def test_tick_equalities (self ):
2930
+ for t in self .ticks :
2931
+ self .assertEquals (t (3 ), t (3 ))
2932
+ self .assertEquals (t (), t (1 ))
2933
+
2934
+ # not equals
2935
+ self .assertNotEquals (t (3 ), t (2 ))
2936
+ self .assertNotEquals (t (3 ), t (- 3 ))
2937
+
2938
+ def test_tick_operators (self ):
2939
+ for t in self .ticks :
2940
+ self .assertEquals (t (3 ) + t (2 ), t (5 ))
2941
+ self .assertEquals (t (3 ) - t (2 ), t (1 ))
2942
+ self .assertEquals (t (800 ) + t (300 ), t (1100 ))
2943
+ self .assertEquals (t (1000 ) - t (5 ), t (995 ))
2944
+
2945
+ def test_tick_offset (self ):
2946
+ for t in self .ticks :
2947
+ self .assertFalse (t ().isAnchored ())
2948
+
2949
+ def test_compare_ticks (self ):
2950
+ for kls in self .ticks :
2951
+ three = kls (3 )
2952
+ four = kls (4 )
2953
+
2954
+ for _ in range (10 ):
2955
+ self .assertTrue (three < kls (4 ))
2956
+ self .assertTrue (kls (3 ) < four )
2957
+ self .assertTrue (four > kls (3 ))
2958
+ self .assertTrue (kls (4 ) > three )
2959
+ self .assertTrue (kls (3 ) == kls (3 ))
2960
+ self .assertTrue (kls (3 ) != kls (4 ))
2961
+
2952
2962
2953
2963
class TestOffsetNames (tm .TestCase ):
2954
2964
def test_get_offset_name (self ):
0 commit comments