@@ -255,6 +255,18 @@ def test_constructor_keyword(self):
255255 hour = 1 , minute = 2 , second = 3 , microsecond = 999999 )),
256256 repr (Timestamp ('2015-11-12 01:02:03.999999' )))
257257
258+ def test_constructor_fromordinal (self ):
259+ base = datetime .datetime (2000 , 1 , 1 )
260+
261+ ts = Timestamp .fromordinal (base .toordinal (), freq = 'D' )
262+ self .assertEqual (base , ts )
263+ self .assertEqual (ts .freq , 'D' )
264+ self .assertEqual (base .toordinal (), ts .toordinal ())
265+
266+ ts = Timestamp .fromordinal (base .toordinal (), tz = 'US/Eastern' )
267+ self .assertEqual (pd .Timestamp ('2000-01-01' , tz = 'US/Eastern' ), ts )
268+ self .assertEqual (base .toordinal (), ts .toordinal ())
269+
258270 def test_constructor_offset_depr (self ):
259271 # GH 12160
260272 with tm .assert_produces_warning (FutureWarning ,
@@ -270,6 +282,21 @@ def test_constructor_offset_depr(self):
270282 with tm .assertRaisesRegexp (TypeError , msg ):
271283 Timestamp ('2011-01-01' , offset = 'D' , freq = 'D' )
272284
285+ def test_constructor_offset_depr_fromordinal (self ):
286+ # GH 12160
287+ base = datetime .datetime (2000 , 1 , 1 )
288+
289+ with tm .assert_produces_warning (FutureWarning ,
290+ check_stacklevel = False ):
291+ ts = Timestamp .fromordinal (base .toordinal (), offset = 'D' )
292+ self .assertEqual (pd .Timestamp ('2000-01-01' ), ts )
293+ self .assertEqual (ts .freq , 'D' )
294+ self .assertEqual (base .toordinal (), ts .toordinal ())
295+
296+ msg = "Can only specify freq or offset, not both"
297+ with tm .assertRaisesRegexp (TypeError , msg ):
298+ Timestamp .fromordinal (base .toordinal (), offset = 'D' , freq = 'D' )
299+
273300 def test_conversion (self ):
274301 # GH 9255
275302 ts = Timestamp ('2000-01-01' )
0 commit comments